Vim的命令合集
gvim命令大全

将鼠标指针移到文件头
x
删除
数字x
要删除的字符个数从鼠标指针向后算
Delete键
删除
u
恢复删除的内容
dd
删除整行
数字dd
删除几行
dG
删除全文
:%s/a/b/gc ——》
y或者a
从%全文找,一直将a替换为b,
gc表示一直替换
:↑
重复上次的命令
Enter回车键
进入下一段
$
将光标移到段末
:数字j
将光标移到第几段
w
从光标处跳过所有空格到下一个字符串
b
从光标处跳过所有空格到上一个字符串
数字j
光标向下跳几行
数字k
光标向上跳几行
数字h
光标向右移动
数字l
光标向左移动
数字w
光标向右向下移动
数字b
光标向左向上移动
Ctrl+p
补全关键字
g~~
将所有小写转换为大写
guu
将所有大写转换为小写
:setf java
将文件类型设置为java文件
:X
对文件进行加密,设置密码
:q
退出编辑器
:help iccf
查看说明
:help Enter键
查看在线帮助
:help F1键
查看线帮助
:help version7
查看版本信息
Ctrl+o
重复到更远的返回
Ctrl+t
:#
在命令行的位置输出:
当前光标所在的行号和行内容
:syntax enable
加亮显示
录制以a按住shift连按两下光标所在行向后一个tab键位置shift只能作用在光标所在的行从第一个字符到最后一个字符若没有tab键则向前移动一个字符位置若有tab键则向前移动一个tab键的位置只能作用在光标所在的行从第一个字符到最后一个字符若没有tab向后移动一个字符位置若有tab则向后移动一个tab键的位置从光标处跳过所有空格到上一个字符串数字j光标向下跳几行数字k光标向上跳几行数字h光标向右移动数字l光标向左移动数字w光标向右向下移动数字b光标向左向上移动ctrlp补全关键字将所有小写转换为大写guu将所有大写转换为小写
二、vim的保存文件和退出命令

⼆、vim的保存⽂件和退出命令vim的保存⽂件和退出命令命令简单说明:w保存编辑后的⽂件内容,但不退出vim编辑器。
这个命令的作⽤是把内存缓冲区中的数据写到启动vim时指定的⽂件中。
:w!强制写⽂件,即强制覆盖原有⽂件。
如果原有⽂件的访问权限不允许写⼊⽂件,例如,原有的⽂件为只读⽂件,则可使⽤这个命令强制写⼊。
但是,这种命令⽤法仅当⽤户是⽂件的属主时才适⽤,⽽超级⽤户则不受此限制。
:wq 保存⽂件内容后退出vim编辑器。
这个命令的作⽤是把内存缓冲区中的数据写到启动vim时指定的⽂件中,然后退出vim编辑器。
另外⼀种替代的⽅法是⽤ZZ命令。
:wq!强制保存⽂件内容后退出vim编辑器。
这个命令的作⽤是把内存缓冲区中的数据强制写到启动vim时指定的⽂件中,然后退出vim编辑器。
ZZ 使⽤ZZ命令时,如果⽂件已经做过编辑处理,则把内存缓冲区中的数据写到启动vim时指定的⽂件中,然后退出vim编辑器。
否则只是退出vim⽽已。
注意,ZZ命令前⾯⽆需加冒号“:”,也⽆需按Enter键。
:q 在未做任何编辑处理⽽准备退出vim时,可以使⽤此命令。
如果已做过编辑处理,则vim不允许⽤户使⽤“:q”命令退出,同时还会输出下列警告信息:No write since last change (:quit! overrides):q!强制退出vim编辑器,放弃编辑处理的结果。
如果确实不需要保存修改后的⽂件内容,可输⼊“:q!”命令,强⾏退出vim编辑器。
:w filename把编辑处理后的结果写到指定的⽂件中保存:w! filename把编辑处理后的结果强制保存到指定的⽂件中,如果⽂件已经存在,则覆盖现有的⽂件。
:wq! filename 把编辑处理后的结果强制保存到指定的⽂件中,如果⽂件已经存在,则覆盖现有⽂件,并退出vim编辑器。
VIM实用技巧(非常的材料)

VIM技巧(整理)一、查找文件编辑:set path+=path_to_search "参考 :h 'path':find path_name_to_edit "可以是文件或目录!二、shell 交互1.直接运行shell:sh(ell)执行shell选项所指定的外部shell程序。
退出后返回vim 2.直接运行命令:!<cmd>执行<cmd>命令,退出后返回vim3.通过read write命令与shell交互write[用法] :[range]w !<cmd>将[range]内的内容作为标准输入传给<cmd>命令执行.注意w后的空格是必须的,w !sh 是写入给<cmd>命令作为输入而w!<cmd> 是写入名为<cmd>的文件![示例] :write !shread[用法]1.:r!<cmd>读取ls的输出(插入内容), read 后可加空格2.:%!<cmd>读取命令输出 (替换全文内容)3.:.!<cmd>读取命令输出 (替换当前行内容)4.!!<cmd>读取命令输出 (替换当前行内容)第4种是直接在normal模式下执行的, 不需要切换至命令模式其实你输入了!!后,vim就自动转换到:.!等待你继续输入复杂些的例子多个文件重命名, 把*.c更名为*.cpp。
:r !ls *.c:%s/\(.*\).c/mv & \1.cpp:w !sh三、命令输出的重定向参考:h :redi[r]重定向命令输出, 包括内部命令!可以将目标设置成文件或buffer.然后在运行命令之后, 结果会在VIM中输出的同时导入到你设定的目标. 其行为类似于tee, 或者就是用tee实现的.四、替换s[ubstitute]默认不指定范围的行为是替换当前行,用%才能替换整个文件1.选项g - globalc - confirmi - ignore casee - don't show error?2.常用特殊变量\<n>匹配的第<n>部分,()用来表明需要匹配的子域:%s/^(.*)\n\1/\1$/ : 删除重复行&匹配的全部&替代整个匹配字串:3,7s/.*/ &/ : 將3至7行向右移2個空白\{- 非贪婪匹配,non-greedy matching【用法】参考:h /\{-\{n,m} 匹配 n 至 m 个前面的匹配原。
Vim编辑指令

Vim编辑指令基本命令Esc 或 Ctrl+[ 进⼊普通模式i (插⼊) a (附加) 进⼊插⼊模式wq 回车保存退出vim后⾯加上你要打开的已存在的⽂件名或者不存在(则作为新建⽂件)的⽂件名。
打开Xfce终端$ vim practice_1.txt直接使⽤vim也可以打开vim编辑器 vim进⼊命令⾏模式后输⼊:e ⽂件路径同样可以打开相应⽂件游标移动h左l右(⼩写L)j下k上w移动到下⼀个单词b移动到上⼀个单词在普通模式下使⽤下⾯的键将进⼊插⼊模式,并可以从相应的位置开始输⼊命令说明i在当前光标处进⾏编辑I在⾏⾸插⼊A在⾏末插⼊a在光标后插⼊编辑o在当前⾏后插⼊⼀个新⾏O在当前⾏前插⼊⼀个新⾏cw替换从光标所在位置后到⼀个单词结尾的字符请尝试不同的从普通模式进⼊插⼊模式的⽅法,在最后⼀⾏shiyanlou前⾯加上www.,注意每次要先回到普通模式才能切换成以不同的⽅式进⼊插⼊模式保存⽂档(命令⾏模式下保存⽂档)从普通模式输⼊:进⼊命令⾏模式,输⼊w回车,保存⽂档。
输⼊:w ⽂件名可以将⽂档另存为其他⽂件名或存到其它路径下退出vim(命令⾏模式下退出vim)从普通模式输⼊:进⼊命令⾏模式,输⼊wq回车,保存并退出编辑命令说明q!强制退出,不保存q退出wq!强制保存并退出w <⽂件路径>另存为saveas ⽂件路径另存为x保存并退出wq保存并退出普通模式下退出vim普通模式下输⼊Shift+zz即可保存退出vim删除⽂本(普通模式下删除vim⽂本信息)进⼊普通模式,使⽤下列命令可以进⾏⽂本快速删除命令说明x删除游标所在的字符X删除游标所在前⼀个字符Delete同xdd删除整⾏dw删除⼀个单词(不适⽤中⽂)d$或D删除⾄⾏尾d^删除⾄⾏⾸dG删除到⽂档结尾处d1G删⾄⽂档⾸部u撤销ndd删除光标所在位置起的多⾏n为数字yy复制光标当前所在的那⼀⾏nyy复制多⾏为n的数字p将已复制的内容粘贴到光标所在的位置的下⼀⾏⼤P将已复制的内容粘贴到光标所在位置的上⼀⾏np粘贴多⾏到光标的下⼀⾏为n的数字cttl+r重复上⼀次操作$跳到⼀⾏的尾部0跳到⼀⾏的头部gg移动到这个⽂件的第⼀⾏G跳到这个⽂件的最后⼀⾏nG跳到n⾏set nu显⽰⾏号H光标移动到屏幕的最上⽅那⼀⾏的第⼀个字符M光标移动到屏幕的中央那⼀⾏的第⼀个字符L光标移动到屏幕的最下⾯那⼀⾏的第⼀个字符vim重复命令重复执⾏上次命令在普通模式下.(⼩数点)表⽰重复上⼀次的命令操作拷贝测试⽂件到本地⽬录$ cd /home/shi$ cp /etc/protocols .游标的快速跳转普通模式下,下列命令可以让光标快速调转到指定位置,我们分别讨论快速实现⾏间跳转和⾏内跳转⾏间跳转命令说明nG(n shift+g)游标移动到第 n ⾏(如果默认没有显⽰⾏号,请先进⼊命令模式,输⼊:set nu以显⽰⾏号) gg游标移动到第⼀⾏G(Shift+g)到最后⼀⾏⼩技巧:你在完成依次跳转后,可以使⽤ Ctrl+o 快速回到上⼀次(跳转前)光标所在位置,这个技巧很实⽤,⽐如当你在写代码时,忽然想起有个 bug,需要修改,这时候你跳过去改好了,只需要按下 Ctrl+o 就可以回到你之前的位置。
Linux基本命令vim命令(一)

Linux基本命令vim命令(⼀)vim的三种⼯作模式命令模式、输⼊模式和编辑模式的相互转换,如图命令模式:使⽤ Vim 编辑⽂件时,默认处于命令模式。
在此模式下,可以使⽤上、下、左、右键或者 k、j、h、l 命令进⾏光标移动,还可以对⽂件内容进⾏复制、粘贴、替换、删除等操作。
输⼊模式:在输⼊模式下可以对⽂件执⾏写操作。
进⼊输⼊模式的⽅法是输⼊ i、a、o 等插⼊命令,编写完成后按 Esc 键即可返回命令模式。
编辑模式:如果要保存、查找或者替换⼀些内容等,就需要进⼊编辑模式。
编辑模式的进⼊⽅法为:在命令模式下按" :"键,Vim 窗⼝的左下⽅会出现⼀个" :"符号后,这时就可以输⼊相关的指令进⾏操作了。
操作完按Enter键执⾏,指令执⾏后会⾃动返回命令模式。
使⽤Vim打开⽂件为了避免误操作我们将/etc下的profile复制到/tmp下进⾏操作,命令如下:[root@localhost /]# cp /etc/profile /tmp/profile.vim使⽤vim 进⼊profile⽂件的命令模式操作功能描述vim profile.vim只是打开⽂件打开⽂件后,直接定位指定⾏数处,vim +20 /tmp/profile.vim例如,打开 /tmp/profile.vim⽂件时直接进⼊第 20 ⾏打开⽂件后,直接定位指定⾏数处,vim +/future /tmp/profile.vim例如,打开 /tmp/profile.vim⽂件时直接定位到"future"字符串所在⾏打开⽂件后,接下来开始对⽂件进⾏操作。
进⼊输⼊命令模式从命令模式进⼊输⼊模式可以按下 I、i、A、a 、O、o、等键来完成,不同的键只是光标所处的位置不同⽽已。
当进⼊输⼊模式后,在 Vim 编辑窗⼝的左下⾓会出现"INSERT"标志,这就代表我们可⾏写⼊操作了,在vim中光标是停留在字符上的,例如在光标后⾯插⼊就是指在光标所在的字符的后⾯插⼊;操功能描述作i在当前光标所在位置插⼊输⼊的⽂本,光标后的⽂本相应向右移动I在光标所在⾏的⾏⾸插⼊输⼊的⽂本,⾏⾸是该⾏的第⼀个⾮空⽩字符,相当于光标移动到⾏⾸执⾏ i 命令a在当前光标所在位置之后插⼊输⼊的⽂本A在光标所在⾏的⾏尾插⼊输⼊的⽂本,相当于光标移动到⾏尾再执⾏ a 命令o在光标所在⾏的下⾯插⼊新的⼀⾏。
Vim命令列表

Vim命令列表操纵文件Vim命令动作:e filename 打开一个新文件,可以用TAB键自动补全:w filename 保存更改。
如果不指定文件名,Vim会存为你正在编辑的文件。
如果要存为不同的文件,需要指定文件名:q 退出Vim。
如果有未保存的更改,Vim会拒绝退出。
:q! 强制退出!:wq 写文件并退出:x 几乎和:wq一样,如果你修改了文件,它会写文件并退出。
如果你没有修改文件,Vim会不写文件直接退出。
文件内的移动These Vim commands and keys work both in command mode and visual mode.Vim命令动作j or Up Arrow 向上移动一行k or Down Arrow 向下移动一行l or Right Arrow 向右移动一个字符h or Left Arrow 向左移动一个字符e 移动到一个词(word)尾E 移动到白空格(whitespace)分隔的词尾b 移动到一个词(word)的开头B 移动到白空格(whitespace)分隔的词头0 移动到行首^ 移动到一行的首个非白空格的字符$ 移动到行尾H 移动到屏幕的第一行M 移动到屏幕的中间一行L 移动到屏幕的最后一行:n 跳至屏幕的第n行插入和替换文本Vim命令动作i 在光标之前插入I 在该行行首插入a 在光标之后插入A 在该行行尾插入o 在下一行新建一行并插入O 在上一行新建一行并插入C Change the rest of the current line.r 覆盖一个字符。
在覆盖完成以后,回到命令模式。
R 进入插入模式,但是不再是插入文本,而是覆盖文本。
跟word 里insert键的作用类似ESC 退出插入/改写模式,回到命令模式。
删除文本Vim命令动作x 删除光标后的字符X 删除光标前的字符dd or :d 删除当前行进入可视模式(Visual mode)Vim命令动作v 开始定义高亮字符,用定位键(j or 向下键等)来选择要高亮的文本。
vim命令及快捷键

vim命令及快捷键[1. 关于Vim]vim是我最喜欢的编辑器,也是linux下第⼆强⼤的编辑器。
虽然emacs是公认的世界第⼀,我认为使⽤emacs并没有使⽤vi进⾏编辑来得⾼效。
如果是初学vi,运⾏⼀下vimtutor是个聪明的决定。
(如果你的系统环境不是中⽂,⽽你想使⽤中⽂的vimtutor,就运⾏vimtutor zh)[1.1 Vim的⼏种模式]正常模式:可以使⽤快捷键命令,或按:输⼊命令⾏。
插⼊模式:可以输⼊⽂本,在正常模式下,按i、a、o等都可以进⼊插⼊模式。
可视模式:正常模式下按v可以进⼊可视模式,在可视模式下,移动光标可以选择⽂本。
按V进⼊可视⾏模式,总是整⾏整⾏的选中。
ctrl+v进⼊可视块模式。
替换模式:正常模式下,按R进⼊。
[2. 启动Vim]vim -c cmd file: 在打开⽂件前,先执⾏指定的命令;vim -r file: 恢复上次异常退出的⽂件;vim -R file: 以只读的⽅式打开⽂件,但可以强制保存;vim -M file: 以只读的⽅式打开⽂件,不可以强制保存;vim -y num file: 将编辑窗⼝的⼤⼩设为num⾏;vim + file: 从⽂件的末尾开始;vim +num file: 从第num⾏开始;vim +/string file: 打开file,并将光标停留在第⼀个找到的string上。
vim --remote file: ⽤已有的vim进程打开指定的⽂件。
如果你不想启⽤多个vim会话,这个很有⽤。
但要注意,如果你⽤vim,会寻找名叫VIM的服务器;如果你已经有⼀个gvim在运⾏了,你可以⽤gvim --remote file在已有的gvim中打开⽂件。
[3. ⽂档操作]:e file --关闭当前编辑的⽂件,并开启新的⽂件。
如果对当前⽂件的修改未保存,vi会警告。
:e! file --放弃对当前⽂件的修改,编辑新的⽂件。
:e+file -- 开始新的⽂件,并从⽂件尾开始编辑。
Linux基础命令vim(底行模式)

Linux基础命令vim(底⾏模式)#只能从命令模式进⼊底⾏模式
#保存退出
:q #退出
:q! #强制退出
:w #保存
:wq #保存退出
:wq! #强制保存退出
:x #保存退出
#光标移动移动的⾏删除
:n #n 数字跳转到指定的⾏
:1d #删除第⼀⾏
:1,10d #删除多⾏
#替换跟sed⼀样
:%s#old#new#g #全局替换
:1s#admin#root#g #替换指定的⾏
:1,5s#bin#oldboy#g #替换多⾏
# ⽂件另存为
:w new1.txt #将⽂件的内容另存为⼀个新⽂件
:1,10w new2.txt #将⽂件的第⼀⾏到第⼗⾏内容另存为⼀个新⽂件
#导⼊其他⽂件内容进⼊这个⽂件
:$r /etc/hosts #导⼊/etc/hosts⽂件中的内容到此⽂件的结尾:0r /etc/hosts #导⼊/etc/hosts⽂件中的内容到此⽂件的⾏⾸
#搜索
/root #搜索root的字符串
n #向下查找
N #向上查找
/root\c #搜索的时候,忽略⼤⼩写
:noh #取消⾼亮。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
命令历史
以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令。
启动vim
在命令行窗口中输入以下命令即可
vim直接启动vim
vim filename打开vim并创建名为filename的文件
文件命令
打开单个文件
vim file
同时打开多个文件
vim file1 file2 file3…
:e \\qadrive\test\1.txt
vim的模式
正常模式(按Esc或Ctrl+[进入)左下角显示文件名或为空
插入模式(按i键进入)左下角显示–INSERT–
可视模式(不知道如何进入)左下角显示–VISUAL–
导航命令
%括号匹配
插入命令
i在当前位置生前插入
I在当前行首插入
a在当前位置后插入
A在当前行尾插入
Ctrl + f向下滚动一屏
Ctrl + b向上滚动一屏
撤销和重做
u撤销(Undo)
U撤销对整行的操作
Ctrl + r重做(Redo),即撤销的撤销。
删除命个字符
X删除当前字符的前一个字符。X=dh
dl删除当前字符,dl=x
dh删除前一个字符
dd删除当前行
dj删除上一行
:1,$ co $将整个文件复制一份并添加到文件尾部。
正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按y即可复制
ddp交换当前行和其下一行
xp交换当前字符和其后一个字符
剪切命令
正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按d即可剪切
在vim窗口中打开一个新文件
:open file
在新窗口中打开文件
:split file
切换到下一个文件
:bn
切换到上一个文件
:bp
查看当前打开的文件列表,当前正在编辑的文件会用[]括起来。
:args
打开远程文件,比如ftp或者share folder
:e ftp://192.168.10.76/abc.txt
:help xxx显示xxx的帮助,比如:help i, :help CTRL-[(即Ctrl+[的帮助)。
:help‘number’Vim选项的帮助用单引号括起
:help特殊键的帮助用扩起
:help -t Vim启动参数的帮助用-
:help i_插入模式下Esc的帮助,某个模式下的帮助用模式_主题的模式
ndd剪切当前行之后的n行。利用p命令可以对剪切的内容进行粘贴
:1,10d将1-10行剪切。利用p命令可将剪切后的内容进行粘贴。
:1, 10 m 20将第1-10行移动到第20行之后。
退出命令
:wq保存并退出
ZZ保存并退出
:q!强制退出并忽略所有更改
:e!放弃所有修改,并打开原来文件。
窗口命令
:split或new打开一个新窗口,光标停在顶层的窗口上
:split file或:new file用新窗口打开文件
split打开的窗口都是横向的,使用vsplit可以纵向打开窗口。
Ctrl+ww移动到下一个窗口
Ctrl+wj移动到下方的窗口
Ctrl+wk移动到上方的窗口
关闭窗口
:close最后一个窗口不能使用此命令,可以防止意外退出vim。
:q如果是最后一个被关闭的窗口,那么将退出vim。
J(shift + j)删除两行之间的空行,实际上是合并两行。
拷贝和粘贴
yy拷贝当前行
nyy拷贝当前后开始的n行,比如2yy拷贝当前行及其下一行。
p在当前光标后粘贴,如果之前使用了yy命令来复制一行,那么就在当前行的下一行粘贴。
shift+p在当前行前粘贴
:1,10 co 20将1-10行插入到第20行之后。
:set incsearch逐步搜索模式,对当前键入的字符进行搜索而不必等待键入完成。
:set wra格,用于缩进。
ddp交换光标所在行和其下紧邻的一行。
移动命令
h左移一个字符
l右移一个字符,这个命令很少用,一般用w代替。
k上移一个字符
j下移一个字符
以上四个命令可以配合数字使用,比如20j就是向下移动20行,5h就是向左移动5个字符,在Vim中,很多命令都可以配合数字使用,比如删除10个字符10x,在当前位置后插入3个!,3a!,这里的Esc是必须的,否则命令不生效。
dk删除下一行
10d删除当前行开始的10行。
D删除当前字符至行尾。D=d$
d$删除当前字符之后的所有字符(本行)
kdgg删除当前行之前所有行(不包括当前行)
jdG(jd shift + g)删除当前行之后所有行(不包括当前行)
:1,10d删除1-10行
:11,$d删除11行及以后所有的行
:1,$d删除所有行
查找很长的词,如果一个词很长,键入麻烦,可以将光标移动到该词上,按*或#键即可以该单词进行搜索,相当于/搜索。而#命令相当于?搜索。
:set hlsearch高亮搜索结果,所有结果都高亮显示,而不是只显示一个匹配。
:set nohlsearch关闭高亮搜索显示
:nohlsearch关闭当前的高亮显示,如果再次搜索或者按下n或N键,则会再次高亮。
ZZ保存并退出。
关闭所有窗口,只保留当前窗口
:only
录制宏
按q键加任意字母开始录制,再按q键结束录制(这意味着vim中的宏不可嵌套),使用的时候@加宏名,比如qa。。。q录制名为a的宏,@a使用这个宏。
执行shell命令
:!command
:!ls列出当前目录下文件
:!perl -c script.pl检查perl脚本语法,可以不用or F1显示整个帮助
o在当前行之后插入一行
O在当前行之前插入一行
查找命令
/text查找text,按n健查找下一个,按N健查找前一个。
?text查找text,反向查找,按n健查找下一个,按N健查找前一个。
vim中有一些特殊字符在查找时需要转义.*[]§/?~$
:set ignorecase忽略大小写的查找
:set noignorecase不忽略大小写的查找
w向前移动一个单词(光标停在单词首部),如果已到行尾,则转至下一行行首。d的字符。
F同f,反向查找。
跳到指定行,冒号+行号,回车,比如跳到240行就是:240回车。另一个方法是行号+G,比如230G跳到230行。
Ctrl + e向下滚动一行
Ctrl + y向上滚动一行
Ctrl + d向下滚动半屏
Ctrl + u向上滚动半屏