2014-12-02 22 views
2

如何在gVim(或任何其他文本編輯工具)中移動到具有相同縮進的下一行和上一行。 對於EG:如何在gVim(或任何其他文本編輯工具)中移動到具有相同縮進的行?

This is first line 
    Second line 
      Third Line 
    Fourth Line 
      Fifth Line 
Another Line 
    Last Line 

在這裏,如果我把光標定位在第二行的「S」,按一些鍵,我需要去第四個和最後行(具有相同縮進的第二行)。

+0

[http://vim.wikia.com/wiki/Move_to_next/previous_line_with_same_indentation](http://vim.wikia.com/wiki/Move_to_next/previous_line_with_same_indentation) – glts 2014-12-02 17:43:35

回答

5

在Vim中,我認爲最簡單的方法就是抽取縮進的空格並搜索它。你可以將一個鍵映射到這個。喜歡的東西:

:nnoremap <F3> 0y^/^<C-R>0\s\@!<CR> 
  • 0y^跳轉到行的開頭和洋基就行
  • /^第一個文本 開始搜索在一行的開頭開始
  • <C-R>0地方將縮進的文本(縮進)放入搜索中 模式
  • \s\@!要求匹配的縮進之後的文本不再是空白(請參閱:help   /zero-width
  • <CR>執行搜索

注意這將因爲沒有什麼行的開始和上線的第一個文本之間拷貝上線失敗,並沒有縮進。

它也會停止工作,當你到達與只有縮進行,雖然它可以達到這些線。

+0

這是一個向前搜索的技巧。謝謝!!。我們可以做類似於向後搜索的任何事嗎? – 2014-12-02 12:33:19

+0

明白了。按F3鍵後,我使用Shift-n轉到上一行。非常感謝。 – 2014-12-02 12:43:34

+0

您也可以在映射中使用'?'而不是'/'來執行向後搜索。 – Ben 2014-12-02 16:31:05

相關問題