我正在使用vim编辑文本文件,并使用&#34; set wrap&#34;启用了换行。假设我有一条非常长的线被包裹成10条线。让我们说我在第5个单词(包装时位于第一行)并且我想在第7行(包装时)找到一个单词。什么是我能够达到这条线的最快方式。我不太热衷于前往w<a-number>l
- 可能有更好/更简单的方法来做到这一点,对吗?
答案 0 :(得分:7)
gj
转到下面一行(同一行,但已包裹)gk
转到上面一行。我的.vimrc中有一张地图
map j gj
map k gk
答案 1 :(得分:4)
有几项具体涉及:set wrap
的动议;大多数情况下,它们是带有g
前缀的“正常”动作的变体。
因此gj
和gk
移动到屏幕行,以及g0
,g^
,g$
,有关详细信息,请查看:help
。
答案 2 :(得分:1)
当你知道这个词或看到它时。例如,它是 hello ,您可以使用/hello
搜索它。那应该跳到那里。如果之前有问候,您可以使用n
进入下一个。
答案 3 :(得分:1)
正如Paco在answer中所说,您可以使用gj
和gk
导航屏幕线。如果这可能太麻烦,您可以将这些行添加到~/.vimrc
,以使普通箭头键按照屏幕行而不是逻辑行进行导航:
noremap <silent> <Up> gk
noremap <silent> <Down> gj
noremap <silent> <Home> g<Home>
noremap <silent> <End> g<End>
inoremap <silent> <Up> <C-o>gk
inoremap <silent> <Down> <C-o>gj
inoremap <silent> <Home> <C-o>g<Home>
inoremap <silent> <End> <C-o>g<End>