繁体   English   中英

如何在Vim命令行中移动?

[英]How can I move around in the Vim command line?

如果你在Vim中输入命令(我的意思是你已经开始使用:并且你在屏幕底部的栏中工作)有没有办法将光标移动而不是点击箭头键? 特别是,你可以将它移动到开头,结尾,后面的n个字符,还是后面的一个单词?

轻按Ctrl + F ,而在命令行模式(刚过: )。 在那里你将获得命令行窗口,可以编辑和导航为常规vim窗口(hjkl等)。

有关详细信息,请参阅:h cmdline-window

类型

:h cmdline-editing

详情。 我列出了一些有趣的非箭头命令,它们可以执行类似于您想要的操作。

  • ctrl - B :光标到命令行的开头
  • ctrl - E :光标到命令行的结尾
  • ctrl - W :删除光标前的单词
  • ctrl - U :删除光标位置和行首之间的所有字符

要添加到Maxim Kim的答案中,

Normal Mode ..

q: - >命令的cmdline窗口

q/ - >用于向前搜索的cmdline窗口

q? - > cmdline窗口向后搜索

Ctrl-C<CR>将带您离开cmdline窗口

  • ctrl + 向左箭头 :向后移动一个单词
  • ctrl + 向右箭头 - 向前移动一个单词
  • ctrl + b - 回到行的开头
  • ctrl + e - 转到行尾
  • ctrl + w - 删除光标前的一个单词
  • ctrl + u - 删除行
  • ctrl + f - 如果您需要更多编辑功能,请使用ctrl + f ,您将在正常模式下编辑命令。 例如,如果要向左移动5个字符,请使用ctrl + f然后使用5h

nnoremap q; q: nnoremap q; q:方便打字。 usr_20.txt和cmdline.txt包含所有有用的信息。

您实际上可以添加自己的移动键。 例如,我在我的.vimrc中使用以下命令以hjkl方式使用手指友好地移动命令模式(滥用ctrl键):

 " moving aroung in command mode
 cnoremap <c-h> <left>
 cnoremap <c-j> <down>
 cnoremap <c-k> <up>
 cnoremap <c-l> <right>
 cnoremap ^     <home>
 cnoremap $     <end>

其中^$实际上是<ctrl- ^>和<ctrl- $>,在.vimrc中键入为<cv> <c- ^>和<cv> <c- $>(由于某种原因<c- ^ >和<c- $>不起作用,至少在我的环境中,但前者呢)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM