【vim小记】vim的高效移动

我还是推荐所有刚入门vim的朋友先去用vimtutor练习,然后去看vim的帮助文档,写的十分仔细,而且可以马上实战,见效很快,以下的很多示意图都是vim帮助文档里的例子,我觉得很好,就拿出来了。

vim之所以高效的原因是因为它有一套高效的移动机制,作为学vim,可以说这一部分你不得不看,这可以大大减少了文章内移动的击键数,而且脱离的鼠标的束缚,让双手基本不用离开键盘操作。

一、VIM的基本移动

vim的基本操作无非是上(j)下(k)左(h)右(l)  ,这个大家很熟悉了,当然,键盘的上下左右也是可以用的,但是相信我,等你用惯它自己这个,你会离不开它

      j
h        l
     k

vim的所有指令基本都可以加数字,表示执行次数,也就是说,移动指令也支持:

10h     左移动10格
 20j      上移20行

二、横向特殊移动

vim的高效从这里才正式体现:

1、首尾移动 ☆☆☆☆

0		移动至行第一个字符
^		移动至行第一个非空白字符
$		移动至行最后一个字符 

               ^
         <------------
    .....This is a line with example text
    <-----------------   --------------->
        0                        $

(这里 "....." 表示空白字符)

以上命令比较重要,另外,如果你的文字区显示得比较小,一行会被折叠成几行,你可能会用到以下的命令,以下的命令全是以屏幕为参考而不是实际的行

g0		至屏幕行第一个字符 (当行回绕时和 "0" 不同)
g^		至屏幕行第一个非空白字符 (当行回绕时和 "^" 不同)
g$		至屏幕行最后一个字符 (当行回绕时和 "$" 不同)
gm		至屏幕行中

2、词移动☆☆

w          跳到下个单词开头
b           向前跳到上个单词开头
e           跳到下个单词词尾
ge         向前跳到上个单词词尾

          b   b b    2b      b
      <----<--<-<---------<---
     This is a line with example text
      --->-->->--------------------->
         w w w 3w

     This is a line with example text ~
             <-<--- -----> ---->
            ge   ge        e    e

同样,这个里面也有几个其他命令,上面命令的大写,跳过的单位均是以空白字符分割的字串,很好记



W        跳到下个字串(以空白字符分割)
B         跳到上个字串(以空白字符分割)
E          跳到下个字串尾部(以空白字符分割)
gE        向前跳到上个字串词尾

3、查找移动☆☆☆

f          向下查找某个字母出现的位置
F         向上查找某个字母出现的位置
t          向下查找某个字母出现的位置前
T         向上查找某个字母出现的位置前

                          Fh
                     <---------------------
     To err is human. To really foul up you need a computer.
           -------->------------------->
                 fh         fy

      To err is human. To really foul up you need a computer.
                     <------------               ---------------->
                               Th                    tn

这里就一个提示,这里可以用‘ ; ‘ 进行重复操作,比如:按下fe,跳到err的e,再次按下;  ,跳到really的e, 再次按下;  跳到need的e

4、匹配移动☆☆☆☆

匹配移动在代码块中使用非常多,而且效率特别高,用这个命令可以轻松的在(),{  }   [  ] 中跳转,它帮你找匹配的括号,方便的很

%       跳到匹配的括号     (这个命令也可适用于 [] 和 {}。(可用 ‘matchpairs‘ 选项定义))

                                %
			     <----->
		if (a == (b * c) / d) ~
		   <---------------->
			    %

注意:光标不在一个有用的字符上,"%" 会先 正向 查找找到一个,再按一次会移动到它的匹配处(比如在下面光标在=处,首先匹配的是(b * c)的左括号,再是它的右括号

		if (a == (b * c) / d) ~
		        +--->--->
			   %

三、纵向特殊移动

1、全局跳转☆☆☆☆

gg          跳到文件首
G            跳到文件尾
NG         跳到特定N行(代码调试常用)
N%        跳到大约N%的位置

2、视野内移动☆☆☆

H          跳到视野内顶部
M         跳到视野内中间
L          跳到视野内下面

		        +-------------------------------+
	H -->	| text sample text	    |
			| sample text		    |
			| text sample text	    |
			| sample text		    |
	M -->	| text sample text	    |
			| sample text		    |
			| text sample text	    |
			| sample text		    |
	L -->	| text sample text	    |
			+-------------------------------+

四、附加:其他操作

1、滚屏

滚屏主要是阅读文档有用,有滚半屏,一屏,一行(这个就不说了,意义不大)

CTRL-U        向上滚动半屏,文字下移动  UP
CTRL-D        向下滚动半屏,文字上移动  DOWN
CTRL-B         向后滚动一屏,文字下移动  Backward
CTRL-F         向前滚动一屏 ,文字上移动  Forward

2、不滚屏移动光标

移动中的一个常见问题是,当你用 "j" 向下移动的时候,你的光标会处于屏幕的底部,你可能希望,光标所在行处于屏幕的中间。这可以通过 "zz" 命令实现。

zz           光标移动到屏幕中间
zt            光标移动到屏幕顶部  (top)
zb           光标移动到屏幕底部(bottom)
 
	+------------------+		 +------------------+
	| some text	   |		 | some text	    |
	| some text	   |		 | some text	    |
	| some text	   |		 | some text	    |
	| some text	   |   zz -->| line with cursor |
	| some text	   |		 | some text	    |
	| some text	   |		 | some text	    |
	| line with cursor |     | some text   |
	+------------------+		 +------------------+
时间: 2024-12-26 23:02:43

【vim小记】vim的高效移动的相关文章

(大数据工程师学习路径)第二步 Vim编辑器----Vim快速入门

vim模式介绍 以下介绍内容来自维基百科Vim 从vi演生出来的Vim具有多种模式,这种独特的设计容易使初学者产生混淆.几乎所有的编辑器都会有插入和执行命令两种模式,并且大多数的编辑器使用了与Vim截然不同的方式:命令目录(鼠标或者键盘驱动),组合键(通常通过control键(CTRL)和alt键(ALT)组成)或者鼠标输入.Vim和vi一样,仅仅通过键盘来在这些模式之中切换.这就使得Vim可以不用进行菜单或者鼠标操作,并且最小化组合键的操作.对文字录入员或者程序员可以大大增强速度和效率. Vi

7种提高工作效率的Vim操作-Vim使用技巧(6)

Vim一直被认为是一种非常高效的文本编辑器,但是对于普通用户来说,很难在入门的时候就体会到Vim的所谓高效性. 本文介绍7种提高你工作效率和生产力的Vim使用技巧,主要集中在对某个文件范围内的特定目标执行相同的重复性操作.抛砖引玉,作为你体验使用Vim进行高效操作的入门级教程. 1. Vim重复操作命令. 在vim重复操作命令. (英文句点)介绍过,. 命令可以用于重复上次修改.在<Vim实用技巧>一书中花了大量篇幅介绍” . 范式”:一次按键移动,一次按键执行. 假设想在以下的JavaScr

vim + DoxygenToolkit.vim环境搭建

1. :DoxLic --->添加版权 2.   :DoxAuthor---->文件头 3.  :Dox----> 函数注释 安装过程: 1. 创建目录  ~/.vim/plugin 2. 下载DoxygenToolkit.vim, 3. 将DoxygenToolkit.vim放到~/.vim/plugin 4. 编辑~/.vimrc,添加如下内容 "doxygen toolkit "let g:DoxygenToolkit_briefTag_pre="@n

Vim 技巧 Vim trick

:g/^$/d :g will execute a command on lines which match a regex. The regex is 'blank line' and the command is :d (delete) g 会执行一个正则表达式的命令,能删除文本里面的空行. Vim 技巧 Vim trick

vim介绍 vim颜色显示和移动光标 vim一般模式下移动光标 一般模式下复制剪切粘贴

vim介绍Vim是一个类似于Vi的著名的功能强大.高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性. 首先先安装vimyum install -y vim-enhanced·我们对比一下vi和vim 打开的区别我们先用vi打开/etc/passwd/看一下·再用vim /etc/passwd/看下·我们可以看到vi打开/etc/passwd/是没有颜色的,而用vim打开,是有颜色的,这就是vi和vim最大的区别·不要去修改/etc/passwd/里面的内容,这是系统文件,看完后:q 不

vim介绍 vim一般模式下的各个功能

一.vim介绍vim是vi的升级版(vim配置文件在/etc/vimrc中)vim是带有颜色显示的yum install -y vim-enhanced一般模式.编辑模式.命令模式 二.vim颜色显示和移动光标vim查看/etc/passwd文件vim /etc/passwdpasswd文件内容:三.一般模式下移动光标光标移动快捷键:先按5,再按 l 或者空格,光标会向右移动5个字符按6,再按 h ,光标会向左移动6个字符按8,再按 j ,光标向下移动8行按9,再按 k ,光标向上移动9行Ctr

【Vim】Vim学习

1. 三种模式 (1)命令模式:刚启动vim便进入命令模式,此时敲击键盘会被当做命令来处理 以下是常用的几个命令: i 切换到插入模式,以输入字符.x 删除当前光标所在处的字符.: 切换到底线命令模式,以在最底一行输入命令. (2)输入模式在命令模式下按下i就进入了输入模式. 在输入模式中,可以使用以下按键: 字符按键以及Shift组合,输入字符ENTER,回车键,换行BACK SPACE,退格键,删除光标前一个字符DEL,删除键,删除光标后一个字符方向键,在文本中移动光标HOME/END,移动

# vim ~/.vimrc vim配色

# vim ~/.vimrc set nomodeline                "(这个一定要写,目前有这个安全漏洞) set nocp set hls is set ic set autoindent set backspace=2 syntax on set bg=dark                   "(更改背景色调/默认为light, " 为注释!)

(大数据工程师学习路径)第二步 Vim编辑器----Vim文档编辑

一.vim重复命令 1.重复执行上次命令 在普通模式下.(小数点)表示重复上一次的命令操作 拷贝测试文件到本地目录 $ cp /etc/protocols . 打开文件进行编辑 $ vim protocols 普通模式下输入x,删除第一个字符,输入.(小数点)会再次删除一个字符,除此之外也可以重复dd的删除操作 2.执行指定次数相同的命令 进入普通模式输入N<command>,N表示重复后面的次数,下面来练习以下: 打开文件文件进行编辑 $ vim protocols 下面你可以依次进行如下操