請問有哪些你覺得很不錯的生產力工具?
不管是硬體,軟體還是某項技術,都可以。
比如硬體方面:Macbook,surface pro等軟體方面:onenote,everything等技術:正則表達式等一切可以提高工作效率的都可以。
1、Word宏:《倚天屠龍記》里「無忌」多少次遇上了「少林」?
自無忌出世後,謝遜心靈有了寄託,再也不去理會那屠龍寶刀。有一晚張翠山偶爾失眠,半夜中出來散步,月光下只見謝遜盤膝坐在一塊岩石之上,手中卻捧著那柄屠龍寶刀,正自低頭沉思。張翠山吃了一驚,待要避開,謝遜已聽到他的腳步聲,說道:「五弟,這『武林至尊,寶刀屠龍』八個字,看來終是虛妄。」張翠山走近身去,說道:「武林中荒誕之說甚多。大哥這等聰明才智,如何對這寶刀之說,始終念念不忘?」謝遜道:「你有所不知,我曾聽少林派一位有道高僧空見大師說過此事。」
這是「無忌」和「少林」在書中第一次出現在同一個段落里。
周芷若站起身來,說道:「咱們走罷!」趙敏道:「到哪裡去?」周芷若道:「我適才在少林寺時,見彭瑩玉和尚匆匆前來尋他,似乎明教中出了甚麼要緊事。」張無忌一凜,心道:「我莫要為了兒女之情,誤了教中大事。」忙道:「咱們快去瞧瞧。」當下三人快步而行,不多時便到了明教教眾宿營之所。
這是「無忌」和「少林」在書中最後一次出現在同一個段落里。書中(三聯版)一共有197段同時出現了「無忌」和「少林」,這些段落加起來有29524字。
如果我要把這些段落全都找齊了,是不是得把整本書過一遍,一段一段來找?
那樣找的話,手都能找瘸了吧……
所以我點擊了Word里一個神奇的按鈕,於是彈出了這樣一個對話框:
輸入「無忌」然後點擊「確定」,Word就哐哧哐哧自己幹了一分多鐘活兒,然後跳出這樣一個對話框:
這個過程我再走一遍,改填「少林」,篩選剩下的就是既有「無忌」又有「少林」的段落了。
這個神奇的按鈕在哪裡呢?
嗯,它其實是我做的一個按鈕,是Word的一個「宏」鍵。
代碼我已經寫好了,你粘貼到你的Word宏編輯器里就行了:
Sub 自動化把有關鍵字的段落留下()
"
" 自動化把有關鍵字的段落留下 宏
"
" //本宏的功能:文稿中任何一段落只要有某關鍵字,該段留下;不含該關鍵字的其它內容刪除。
Text = InputBox("請輸入目標關鍵字(含有該關鍵字的段落將會保留):", "提示")
Application.ScreenUpdating = False
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = Text
.Replacement.Text = "█大家好我是關鍵字█"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = True
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = False
.MatchFuzzy = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Selection.HomeKey Unit:=wdStory
Selection.TypeText Text:="定位待刪"
Selection.TypeParagraph
Selection.EndKey Unit:=wdStory
Selection.TypeParagraph
Selection.TypeText Text:="█完了。"
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "█"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = True
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = False
.MatchFuzzy = False
End With
Selection.Find.Execute
Selection.Extend
Selection.Extend
Selection.Extend
Do While Len(Selection) &> 11
Selection.Cut
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "定位待刪"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = True
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = False
.MatchFuzzy = False
End With
Selection.Find.Execute
Selection.MoveLeft Unit:=wdCharacter, Count:=1
Selection.PasteAndFormat (wdFormatOriginalFormatting)
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "█"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = True
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = False
.MatchFuzzy = False
End With
Selection.Find.Execute
Selection.Extend
Selection.Extend
Selection.Extend
Loop
" // 如果沒有目標關鍵字的段落並不想刪除,則刪掉下面的這段代碼
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "定位待刪"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = True
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = False
.MatchFuzzy = False
End With
Selection.Find.Execute
Selection.EndKey Unit:=wdStory, Extend:=wdExtend
Selection.Delete Unit:=wdCharacter, Count:=1
" // 如果沒有目標關鍵字的段落並不想刪除,則刪掉上面的這段代碼
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "█大家好我是關鍵字█"
.Replacement.Text = Text
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = True
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = False
.MatchFuzzy = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
MsgBox ("任務已完成,文檔中剩下的是所有含「" + Text + "」的段落。"), 47, "完成"
End Sub
怎麼粘貼?
關於「宏」,一點小入門知識以及更多使用範例在這裡:
《什麼是「宏」? 為什麼以前計算機老師說不要用 word 中的「宏」?》
為什麼會寫這個宏?
其實是前些天朋友因為工作需要,要把一個三百多頁的文件裡帶某關鍵字的段落全留下,他一段一段查找,找到二十多頁的時候終於要崩潰了,所以問我有沒有什麼簡便方法。
我當時不知為何Word宏處理不了「粘貼」操作,導致我一時間不能全自動完成這個過程,只好把這個宏里的動作拆成兩部分,分別映射到我鍵盤的兩個自定義宏鍵上,手動來回按這兩個鍵,花了三分多鐘才操作完。
三百多頁最後剩下八十多頁。
我並不知道如果全手動的話要操作多久……
後來查清原因,能夠正常運行宏了,一鍵化嘗試,一分鐘出頭就可以完成。
示例肯定不能用人家的工作文件,所以隨便拿《倚天屠龍記》做了個例子。
為什麼Word宏會處理不了「粘貼」操作?
現在還不知道原因……癥狀是在Windows10更新後出現的。
具體癥狀是,每次電腦開機後第一次打開Word文檔後可以正常使用宏;但打開第二個文檔的話,處理宏時就會處理不了「粘貼」操作。
我把問題描述在微軟的論壇了:
Word 2016:執行宏的時候為何總會卡在粘貼操作上?
我一度解決了問題——是通過卸載騰訊電腦管家解決的。
結果Windows10再次更新後問題再度出現(可能冤枉騰訊了)。
所以我現在如果要執行帶「粘貼」操作的宏,都得重啟一遍電腦(抓狂)。
當然,重啟電腦也總好過對著一個三百多頁的文檔操作一整天……
文科生必備技能?
現在好像很明白為什麼文科大學生也要學VB了……(雖然我當時並沒有學……)
2、鍵盤自定義宏
這個是硬體。
我幾年來買鍵盤都必須要有自定義宏鍵的,不然根本不能活……
比如我現在的主力鍵盤,左側有十八個自定義鍵(品牌就不說了,評論如果有人提的話我也會刪掉……因為人家真沒給我錢啊……有自定義宏鍵的鍵盤又不只這一家,還有███,████,███等等好多家都有類似產品),因為最近的工作內容,主力宏鍵設置是這樣的:
但凡有那種繁瑣、重複勞動、讓人想死的滑鼠鍵盤操作,除了Word宏、PhotoShop錄製動作外,系統層面可以用鍵盤的自定義宏解決節約非常多的時間。
節約時間倒還在其次,重要的是心情。
有空我再慢慢舉例解釋鍵盤自定義鍵的一些使用思路。
- 加vsvim和visual assist後的vs2012,這是我現在的工作環境,系統是windows8.1
- 命令行腳本,windows的powershell腳本,因為有多個項目,每天工作開始都會用來自動批量拉取代碼,比較方便
- vs的分析工程,分析程序的性能瓶頸,沒有用過比這更好用的東西了。
- 熟練的vim或emacse(不熟練甚至會降低效率),無法替代vs,自動補全和項目管理還是硬傷,但不影響其作為一款優秀編輯器的存在,用來修改cmake file、新增文件比vs方便,vs有相應的插件(用vs2008的時候系統自帶eamcs快捷鍵方式,2010也有emacs的插件,vs2012的emacs插件不支持了,據說有解決辦法,但我沒整成功,只好用vim的插件了,用vim的鍵盤宏很好用,批量生成代碼的時候真的很好用,例如,一個結構體里的所有數據項要匹配到資料庫的對應項:
std::string label_;
std::string name_;
std::string description_;
std::string operator_name_;
std::string date_;
std::string time_;
std::string treatment_protocols_;
std::string intent_;
std::string treatment_site_;
std::string geometry_;
std::string prescription_description_;
std::string approval_status_;
std::string approval_name_;
std::string approval_time_;
std::string referenced_structure_set_uid;
使用一條這樣的鍵盤宏:
^iTypeHandler&< t a&>::bind(pos++,obj. lx$i,pBinder,dir) j可以變成:TypeHandler&
TypeHandler&
TypeHandler&
TypeHandler&
TypeHandler&
TypeHandler&
TypeHandler&
TypeHandler&
TypeHandler&
TypeHandler&
TypeHandler&
TypeHandler&
TypeHandler&
TypeHandler&
TypeHandler&
這樣的操作有很多,我們系統有二十幾張表,每個表幾十條、上百的數據項,如果沒有vim或者emacs的鍵盤宏。。。。。
我!活!不!下!去!!!這只是編譯器無數的功能中的一個功能點,沒有vim或者emacs的插件的話,寫代碼總有一種無力的感覺。。。。。。=================================================================上面的太簡單了這樣的操作呢?
double final_cumulative_meterset_weight_;
int applicator_id_;
std::string applicator_type_;
TypeHandler&
TypeHandler&
TypeHandler&
^iTypeHandler&< t a&>::extract(pos++, lxyewi,defVal. pa,pExt) j
熟練掌握了快捷鍵後的Visual Studio
紙、筆(這兩者的牌子無所謂)和頭腦
開發java,自從用了mac os + intellij idea(內置bash + vim編輯器插件) + hhkb,編程效率和心情都大大提升了~
Autohotkey
這麼好的一個軟體居然沒被提到。可以這麼用:(我在用的一些功能)1,將caps + hjkl 變成上下左右,+yuio 是home, pg dn, pg up, end,+nm是以詞為單位移動 。不管是不是碼代碼,在任何文字編輯的程序里都很有用2,常用的短語可以用快捷鍵喚出3,將linux或mac上的一些使用習慣擴展到windows上,例如alt + 滑鼠可以移動窗口,win鍵和left alt置換等等4,快速打開常用的幾個文件夾5,任何程序都可以設置成always on top6,命令行里可以Ctrl+V很多東西都可以提高效率,但是要看你的使用方式。
我個人感覺,對我的工作提升了效率的:
1.ipad常用軟體:evernote(感謝scr的糾正)、todo、pdf、相機不管和別人討論什麼,我都會記在對應的記事本裡面,它會同步到我的電腦中。不管答應了別人做什麼事情,我都會記在todo裡面,打上優先順序。完成的時候劃掉。發現比較好的文檔,就傳到pad上,有時間了就拿出來看看。每次跟別人討論畫在黑板上內容之後,在擦除或者會議結束之前,我都會照下來,有時候用手機。2.Axure RP Pro
畫各種流程圖,產品模板,結構分析等等快速生成html,並可以連接進行點擊3.Alfred 2Mac上的神器,現在已經是第二版了。自定義搜索,任何界面下,按下快捷鍵就出來,可以快速啟動程序,搜索引擎等等。例如我是個寫PHP得,經常會直接輸入php mongo,回車,mongo函數的頁面就出出來了;輸入baike ORM,就打開了百度百科關於ORM的解釋等等(以上功能個需要自己配置)硬體方面我認為數位板是很值得入手的生產力工具,不是幾十塊錢的手寫板啦,我用的一塊Wacom的低檔CTL671.在上面寫寫畫畫的手感跟紙筆差不多,因為我寫字總喜歡用力,所以反倒是用數位板更不容易疲勞.數位板的一大好處就是可以隨時修改,配合小巧玲瓏的SAI軟體,支持圖層,可以毫無顧忌的寫寫畫畫.當然支持電磁筆的三星平板就更舒服了,只是成本更高一些.
熟練掌握快捷鍵的adobe全套。
還有最近開始團隊使用的worktile
google , excel, 二鍋頭。
那必須是office里的onenote了,工作中隨手記下筆記,輕鬆share給同事。而且最近免費了
VS是最強大的IDE!
1.Chrome,跟前端相關的開發離不開,pretty print等操作貼心無比。2.RegexTest,佚名作者開發的一個正則工具(網上有很多同名的,但是沒找到比這個更好用的)3.TeamViewer4.Balsamiq Mockups,簡單易上手,基本功能都有,拿出去不跌份兒
office。。。
每次畫圖我都用Word和PPT。。。。白板 設計圖實時討論的工具,簡單好用,上手容易
realtimeboard
網上討論問題的時候用的到,語音的時候需要畫圖或者寫什麼東西的時候就可以用這個,能及時顯示。一塊白板+筆+橡皮擦現場跟別人討論問題,在白板上畫比在紙上效果好很多倍Win:主要是UWP——poki(pocket的第三方應用);
Apply text——個人認為是win平台最好的一款Markdown工具了,甚至覺得它好過Typora;
視野——類似PC端的開眼,每天看一段,對激發靈感有些許幫助;
Bandizip——解壓;
ACG播放器——也許是win平台UI最好的播放器。
Mac:
就是用ulysse s+bear完成的。前者有專註的打字機模 式,後者可以隨意插圖;
Memo——桌面便簽應用,給愛忘事的人;
Pocket——稍後閱讀;
Day One——隨時記錄每日工作;
Handshaker——安卓-Mac文件傳輸神器;
HelloFont——在線字體下載(漢儀出品)。
全平台:
幕布——用了它之後其他思維導圖軟體都不愛了(最近他又推出了精選功能,用戶可在線分享自己的筆記);
IFTTT——自動化神器,便利到有時甚至會忘記它的存在;
堅果雲——也許是國內最好的Dropbox替代品。
火。
熟練掌握快捷方式和重構技巧的Intellij idea!
vim
推薦閱讀:
※怎樣縮短學習周期?
※怎麼樣才能讓學習體系化,效果更好?
※初二學生想要努力學習會晚嗎?
※只有考前一晚上時間複習,知識儲量為0,請問如何應對?
※收藏了那麼多優秀答案,我什麼時候能看完?