Vim最有效的捷徑是什麼?

我聽過不少關於Vim的消息 ,包括優勢和缺點。 看起來你應該(做爲開發人員)使用Vim比使用任何其餘編輯器更快。 我正在使用Vim來作一些基本的東西,並且使用Vim,個人效率最多只有 10倍。 html

當你談論速度時你應該關心的兩件事(你可能不太關心它們,但你應該這麼作)是: 正則表達式

  1. 使用左手和右手交替使用鍵盤是最快捷的方式。
  2. 永遠不要觸摸鼠標是第二種儘量快的方法。 移動手,抓住鼠標,移動鼠標並將其帶回鍵盤須要很長時間(並且您常常須要查看鍵盤以確保將手正確地移到正確的位置)

這裏有兩個例子,說明爲何我對Vim的效率低得多。 vim

複製/剪切和粘貼。 我一直這樣作。 使用全部當代編輯器,您能夠用左手按Shift鍵 ,而後用右手移動光標以選擇文本。 而後按Ctrl + C複製,移動光標並按Ctrl + V粘貼。 編輯器

有了Vim,它太可怕了: 學習

  • yy複製一行(你幾乎從不但願整個行!)
  • [number xx]yyxx行復制到緩衝區中。 但你永遠不知道你是否選擇了你想要的東西。 我常常要作[number xx]dd而後u撤消!

另外一個例子? 搜索和替換。 spa

  • PSPad中 : 按Ctrl + f,而後鍵入要搜索的內容,而後按Enter鍵 。
  • 在Vim中: / ,而後鍵入要搜索的內容,那麼若是有一些特殊的字符放在\\ 每一個特殊字符前,而後按Enter鍵 。

與Vim的一切都是這樣的:彷佛我不知道如何以正確的方式處理它。 .net

NB: 我已經閱讀過Vim 備忘 單了 :) code

個人問題是: htm

你使用Vim的方式是什麼讓你比現代編輯更有效率? ip


#1樓

你在談論文本選擇和複製,我認爲你應該看看Vim可視模式

在可視模式下,您可使用Vim命令選擇文本,而後您可使用選擇執行任何操做。

請考慮如下常見狀況:

您須要選擇下一個匹配的括號。

你能夠這樣作:

  • v%若是光標在開始/結束括號上
  • 若是光標在括號內,則vib

您想要在引號之間選擇文本:

  • vi「雙引號
  • vi'單引號

你想選擇一個花括號塊(在C風格的語言中很常見):

  • viB
  • vi{

您想要選擇整個文件:

  • ggVG

可視塊選擇是另外一個很是有用的功能,它容許您選擇文本的矩形區域,您只需按Ctrl - V啓動它,而後選擇所需的文本塊並執行任何類型的操做,如yank,刪除,粘貼,編輯等。編輯面向列的文本很是棒。


#2樓

使用內置文件資源管理器! 命令是:Explore ,它容許您很是快速地瀏覽源代碼。 我在.vimrc有這些映射:

map <silent> <F8>   :Explore<CR>
map <silent> <S-F8> :sp +Explore<CR>

資源管理器也容許您進行文件修改。 我會發布一些我最喜歡的按鍵,按<F1>將爲您提供完整列表:

  • - :最有用:更改成上層目錄( cd ..
  • mf :標記文件
  • D :若是沒有標記,則刪除標記的文件或光標所在的文件。
  • R :重命名光標所在的文件。
  • d :在當前目錄中建立一個新目錄
  • :在當前目錄中建立一個新文件

#3樓

我前幾天剛剛發現了Vim的omnicompletion,雖然我認可我對它的做用有點朦朧,但我只是搗碎了Ctrl + x Ctrl + u或者Ctrl + n / Ctrl + p在插入模式下。 它不是智能感知 ,但我還在學習它。

試試看! :help ins-completion


#4樓

批量文本操做!

經過宏:

  • 從錄製開始: qq
  • 作東西
  • 中止錄音: q
  • 重複: @q (第一次), @@以後。
  • 重複20次: 20@@

或者經過正則表達式:

  • 替換東西:: :%s/[fo]+/bar/g

(但要注意:若是你作後者,你將有2個問題:)。)


#5樓

多個緩衝區,特別是它們之間的快速跳轉,用於比較兩個文件:bp:bn (正確地從新映射到單個Shift + p或Shift + n )

vimdiff模式(分紅兩個垂直緩衝區,顏色顯示差別)

使用Ctrl + v進行區域複製

最後,標籤完成標識符(搜索「mosh_tab_or_complete」)。 那是改變生活的方式。

相關文章
相關標籤/搜索