VIM基本命令
2011-02-11 11:04
155 查看
基本:
移动命令(光标定位)
h j k l 左下上右移动光标
H 跳到屏幕上的第一行
M 跳到屏幕的中间行
L 跳到屏幕上的最后一行
w 光标以单词向前移动至单词第一个字母
b 与w相反,向后移动至单词的第一个字母
%: 移动到与制匹配的括号上去(),{},[],<>等
CTRL+G 得到当前光标在文件中的位置
CTRL+d 向下移动半屏 CTRL+u 向上移动半屏 CTRL+f 向下移动一屏 CTRL+b 向上移动一屏
Ctrl-w h,Ctrl-w j,Ctrl-w k,Ctrl-w l 切换到左下上右窗口
$ 当前行的末尾 ^ 当前行第一个字母
gg 文件头 G 文件尾
`` 回到光标跳转前的位置 `. -- 此命令相当强大, 它移动光标到上一次的修改点.
行号+G 跳转到指定行 :set 10 跳转到指定行10行处
zj 移动到下一个折叠的开始处 zk 移动支折叠的结束处
zz 移动屏幕,将光标所在的位置移动到中间行
fx 向右跳到本行字符x处(x可以是任意字符) Fx 向左跳到本行字符x处 输入; 表示继续住下找 输入,表示反方向找
[separator]
删除、复制、修改
dd 删除一行 dw 删除一个单词(光标在词首) daw 同dw,光标在单词的任意处 d$ 删除到行尾
shift+j 删除行尾的换行符 x 删除单个字符 D 同d$,但比d$更简捷
yy 复制一行 yw 复制一个单词(同上) yaw 同上 y$ ...
cc 修改... cw
修改.... caw
修改... c$ 修改....
cl 修改当前字符
(、[、{、}、]、)内数据选择
daB 删除{}及其内的内容 (在非v可视模式下)
diB 删除{}中的内容
ab 选择()中的内容
ib 选择()中的内容( 不含() )
aB 选择{}中的内容
iB 选择{}中的内容( 不含{} )
自动补齐
CTRL+p 向上查找匹配单词 CTRL+n 向下查找匹配单词(其次还匹配文件名,匹配行,但不常用,这里就不罗列) 不断输入此命令则循环查找
关于ctags,在源文件中方便的跳转搜索类和函数的功能,现在还不熟悉,在以后的更新中,会加入这部份内容。
<C-X><C-L> 行自动完成(超级有用)
补充内容:
ctags -f /usr/share/vim/vim63/funcs.tags -R /opt/j2sdk/src /usr/src/kernels/2.6.9-5.EL-i686
^p 自动补齐上下文已有相近项
^n 自动补齐~/.tags中的相近函数
^[ 显示~/.tags中的光标下的函数的原型,
按^t退出函数
:pta 函数名预览窗口快速打开相应函数所在文件,并将光标定位在对应函数的开头
K 显示光标下的C函数的man说明手册
多文件操作(虽不常用,但很实用)
:ls
(:buffers
)
显示buffer
列表
:bn
转到下一个
buffer
:bp
转到上一个
buffer
:b 3
转到编号为 3
的
buffer
:sp(:vsp)
横、竖分割打开新文件
:e
文件名 vim
将在原窗口中打开新的文件,
若旧文件编辑过,
会要求保存
.
:set diff
此命令用于比较两个文件(很实用的东东,但要求是在同一窗口中打开的两个文件,最好用vsp打开)
补充内容:
:%!xxd 按十六进制查看当前文件
:%!xxd -r 从十六进制返回正常模式
:n1,n2 co n3 将 n1 行到 n2 行之间的内容拷贝到第 n3 行下。
:n1,n2 m m3 将 n1 行到 n2 行之间的内容移至第 n3 行下。
:n1,n2 d 将 n1 行到 n2 行之间的内容删除。
:n1,n2 w filename 将 n1 行到 n2 行之间的内容保存到文件 filename 中
:n1,n2 w! Command 将文件中n1行到n2行的内容作为 Command的输入并执行之,
若不指定 n1、n2,则将整个文件内容作为 Command 的输入。
:r! Command 将命令 Command 的输出结果放到当前行。
:nr <文件> 把<文件>插入到第n行
:so <文件> 读取<文件>,再执行文件里面的命令(文件中的命令应该都是一些ex命令)
:l1,l2w <文件> 把第l1和第l2行之间的文本写到<文件>中去
:w >> <文件> 添加到<文件>末尾. 也可以使用行号
:e! 重新编辑当前文件,忽略所有的修改
查找、替换
/ 向下查找 ? 向上查找 * 表示查找光标所停留的单词 n 跳转到下一匹配结果 N 跳转到上一匹配结果
%s/aa/bb/g 将文档中出现的所有包含 aa 的字符串中的 aa 替换为 bb(较常用)
[b]寄存器的使用(较有用)
在复制前可以先指定一个寄存器,方法是在双引号后跟一个字母,例如"a指定了寄存器a,"B指定了寄存器B。
"ayy把当前行放进了寄存器a,以后就可以用"ap来粘贴寄存器a里的内容了。
使用:reg来查看当前寄存器中的内容。
Vim提供了一个很有用的特殊寄存器"+,它的内容就是系统剪贴板的内容。可以在Vim里用"+p粘贴出来。
其它常用命令
:x
=> 保存并退出,:q!
=>强行退出,:e!
=>放弃修改文件内容,重新载入该文件,ZZ
=>同:x命令,
:only
=>在一个窗口显示多个文件的情况下,仅保留一个文件
CTRL+z 挂起文件 shell下jobs 显示挂起文件夹的编号
:set number(:set nu) 显示行号 :set
:set nonu 取消显示的行号
:eaho $LANG 显示编码
:set enc=utf-8 设置文字编码
按v进入“选择模式” 选中要编辑的文字,按“+”符号可自动对齐
zc 折叠 zr(zR)打开所有折叠 zm(zM)关闭所有折叠
TAB 制表符 >>(<<) 输入此命令则光标所在行向右(向左)移动一个TAB(符号前可加数字)
u 撤消命令 ctrl+r 恢复命令
移动命令(光标定位)
h j k l 左下上右移动光标
H 跳到屏幕上的第一行
M 跳到屏幕的中间行
L 跳到屏幕上的最后一行
w 光标以单词向前移动至单词第一个字母
b 与w相反,向后移动至单词的第一个字母
%: 移动到与制匹配的括号上去(),{},[],<>等
CTRL+G 得到当前光标在文件中的位置
CTRL+d 向下移动半屏 CTRL+u 向上移动半屏 CTRL+f 向下移动一屏 CTRL+b 向上移动一屏
Ctrl-w h,Ctrl-w j,Ctrl-w k,Ctrl-w l 切换到左下上右窗口
$ 当前行的末尾 ^ 当前行第一个字母
gg 文件头 G 文件尾
`` 回到光标跳转前的位置 `. -- 此命令相当强大, 它移动光标到上一次的修改点.
行号+G 跳转到指定行 :set 10 跳转到指定行10行处
zj 移动到下一个折叠的开始处 zk 移动支折叠的结束处
zz 移动屏幕,将光标所在的位置移动到中间行
fx 向右跳到本行字符x处(x可以是任意字符) Fx 向左跳到本行字符x处 输入; 表示继续住下找 输入,表示反方向找
[separator]
删除、复制、修改
dd 删除一行 dw 删除一个单词(光标在词首) daw 同dw,光标在单词的任意处 d$ 删除到行尾
shift+j 删除行尾的换行符 x 删除单个字符 D 同d$,但比d$更简捷
yy 复制一行 yw 复制一个单词(同上) yaw 同上 y$ ...
cc 修改... cw
修改.... caw
修改... c$ 修改....
cl 修改当前字符
(、[、{、}、]、)内数据选择
daB 删除{}及其内的内容 (在非v可视模式下)
diB 删除{}中的内容
ab 选择()中的内容
ib 选择()中的内容( 不含() )
aB 选择{}中的内容
iB 选择{}中的内容( 不含{} )
自动补齐
CTRL+p 向上查找匹配单词 CTRL+n 向下查找匹配单词(其次还匹配文件名,匹配行,但不常用,这里就不罗列) 不断输入此命令则循环查找
关于ctags,在源文件中方便的跳转搜索类和函数的功能,现在还不熟悉,在以后的更新中,会加入这部份内容。
<C-X><C-L> 行自动完成(超级有用)
补充内容:
ctags -f /usr/share/vim/vim63/funcs.tags -R /opt/j2sdk/src /usr/src/kernels/2.6.9-5.EL-i686
^p 自动补齐上下文已有相近项
^n 自动补齐~/.tags中的相近函数
^[ 显示~/.tags中的光标下的函数的原型,
按^t退出函数
:pta 函数名预览窗口快速打开相应函数所在文件,并将光标定位在对应函数的开头
K 显示光标下的C函数的man说明手册
多文件操作(虽不常用,但很实用)
:ls
(:buffers
)
显示buffer
列表
:bn
转到下一个
buffer
:bp
转到上一个
buffer
:b 3
转到编号为 3
的
buffer
:sp(:vsp)
横、竖分割打开新文件
:e
文件名 vim
将在原窗口中打开新的文件,
若旧文件编辑过,
会要求保存
.
:set diff
此命令用于比较两个文件(很实用的东东,但要求是在同一窗口中打开的两个文件,最好用vsp打开)
补充内容:
:%!xxd 按十六进制查看当前文件
:%!xxd -r 从十六进制返回正常模式
:n1,n2 co n3 将 n1 行到 n2 行之间的内容拷贝到第 n3 行下。
:n1,n2 m m3 将 n1 行到 n2 行之间的内容移至第 n3 行下。
:n1,n2 d 将 n1 行到 n2 行之间的内容删除。
:n1,n2 w filename 将 n1 行到 n2 行之间的内容保存到文件 filename 中
:n1,n2 w! Command 将文件中n1行到n2行的内容作为 Command的输入并执行之,
若不指定 n1、n2,则将整个文件内容作为 Command 的输入。
:r! Command 将命令 Command 的输出结果放到当前行。
:nr <文件> 把<文件>插入到第n行
:so <文件> 读取<文件>,再执行文件里面的命令(文件中的命令应该都是一些ex命令)
:l1,l2w <文件> 把第l1和第l2行之间的文本写到<文件>中去
:w >> <文件> 添加到<文件>末尾. 也可以使用行号
:e! 重新编辑当前文件,忽略所有的修改
查找、替换
/ 向下查找 ? 向上查找 * 表示查找光标所停留的单词 n 跳转到下一匹配结果 N 跳转到上一匹配结果
%s/aa/bb/g 将文档中出现的所有包含 aa 的字符串中的 aa 替换为 bb(较常用)
[b]寄存器的使用(较有用)
在复制前可以先指定一个寄存器,方法是在双引号后跟一个字母,例如"a指定了寄存器a,"B指定了寄存器B。
"ayy把当前行放进了寄存器a,以后就可以用"ap来粘贴寄存器a里的内容了。
使用:reg来查看当前寄存器中的内容。
Vim提供了一个很有用的特殊寄存器"+,它的内容就是系统剪贴板的内容。可以在Vim里用"+p粘贴出来。
其它常用命令
:x
=> 保存并退出,:q!
=>强行退出,:e!
=>放弃修改文件内容,重新载入该文件,ZZ
=>同:x命令,
:only
=>在一个窗口显示多个文件的情况下,仅保留一个文件
CTRL+z 挂起文件 shell下jobs 显示挂起文件夹的编号
:set number(:set nu) 显示行号 :set
:set nonu 取消显示的行号
:eaho $LANG 显示编码
:set enc=utf-8 设置文字编码
按v进入“选择模式” 选中要编辑的文字,按“+”符号可自动对齐
zc 折叠 zr(zR)打开所有折叠 zm(zM)关闭所有折叠
TAB 制表符 >>(<<) 输入此命令则光标所在行向右(向左)移动一个TAB(符号前可加数字)
u 撤消命令 ctrl+r 恢复命令
相关文章推荐
- 嵌入式开发第二日(man 手册、linux基本命令、vim编辑器、代码编译过程、编译工具、基本数据类型、控制流)
- vim基本命令之剪切复制粘贴替换
- Linux基础-Shell基本命令和Vim介绍
- 【2.1】【Linux从基本命令到服务器搭建系列教程】——Linux编辑器-gedit,sublime,vim
- Linux Vim基本命令
- vi/vim编辑器基本命令
- vim基本命令
- vim基本命令
- vim基本命令
- vim基本命令
- vim基本命令
- vim替换命令基本使用方法.
- Vim 基本命令总结
- Vim基本编辑和移动命令
- vim基本命令
- Vim基本命令
- vim基本命令
- VIM配置及基本命令
- VIM 学习系列之基本命令,常用命令
- vim基本命令