第十章 vim

来源:互联网 发布:心动网络校招 编辑:程序博客网 时间:2024/06/05 16:36

​一般模式切换到编辑模式的可用按钮说明

  • i,I    进入插入模式

i为从当前光标前一个所在处插入,I为在目前所在行的第一个非空格字符处开始插入

  • a,A    进入插入模式

a为从当前光标所在处的下一个字符开始插入,A为从光标所在行的最后一个字符处开始插入

  • o,O    进入插入模式

o为在所在光标处的下一行处差不如新的一行;O为在目前光标处的上一行插入新的一行

  • r,R    进入替换模式

r只会替换光标所在的字符一次;R会一直替换光标所在的文字,直到按下[Esc]为止

  • v,V,ctrl+v    进入可视模式


v可以进入正常可视模式,移动光标可以选择文本。按V可以进入可视行模式,总是整行整行的选中。ctrl+v,可视块选中。



删除类命令:

d number motion         number代表重复操作

其中d-删除操作符,motion为操作符的操作对象,dd或D可以删除整行

操作符对象:

w-从当前光标删除到下+ 一个单词词的起始处,不包括它的第一个字符

e-从当前光标当前位置直到单词结尾,包括最后一个字符

$-从当前光标当前位置直到当前行末



撤销类命令:

u来撤销最后执行的命令,输入U来撤销对整行的修改

ctrl-r,重做被撤销的命令,撤销掉撤销命令

.(小数点)    重复前一个操作



置入类命令(复制):

然后按v,进入visual方式,然后就可以移动方向键选中文本,然后按y,就拷贝

yy复制游标所在行整行。或大写一个Y。 
2yy或y2y复制两行。请举一反三好不好! :-) 
y^复制至行首,或y0。不含游标所在处字元。 
y$复制至行尾。含游标所在处字元。 
yw复制一个word。 
y2w复制两个字(单词)。 
yG复制至档尾。 
y1G复制至档首。 
p小写p代表贴至游标后(下)。 
P大写P代表贴至游标前(上)。

输入p将最后一次删除的内容置于光标之后,P将在缓冲区内的内容置于光标之前



替换类命令:

输入r和一个字符,用这个字符替换光标所在位置的字符



更改类命令:             而且还能使我们进入插入模式

ce     改变文本从当前位置到单词结尾,包括最后一个字符

cw    改变文本从当前位置到下一个单词起始处,不包括它的第一个字符

cc     删除整行,并进入插入模式



定位及文件状态:

ctrl-g    显示当前编辑文件中当前光标所在行位置以及文件状态信息

G    则直接挑战到文件中的最后一行

gg    可以使得当前光标直接跳转到文件第一行

nG    移动到该文件的第n行

n[Enter]    向下移动n行

J    两行合并,删除换行符




搜索类命令:

/+字符串    可以在当前文件中查到该字符串        输入完字符串后输入回车

n    向下继续查找该字符串,如果要反方向查找用N

?    逆向查找字符串用?代替/

ctrl-o    回到之前的位置,ctrl-i会跳转到较新的位置



配对括号查找:

%    可以匹配)、]、},在任何一个括号处按%会跳到匹配的括号处,再按则返回



替换命令

:s/old/new/g    可以替换old为new,替换全行的匹配项

:s/old/new/    可以替换old为new(只替换第一个出现的)

:#,#s/old/new/g    其中#,#是代表批量替换操作中若干行中的首尾两行

:%s/old/new/g    则是替换整个文件中的每个匹配串,也可以写成:1,$s/old/new/g

:%s/old/new/gc    找到整个文件中的每个匹配串,并且对每个匹配串提示是否进行替换,也可以写成:1,$s/old/new/gc



Vim内执行外部命令的方法:

输入:!紧接着输入一个外部命令,就可以执行该外部命令

关于保存文件的更多信息:

:w FILENAME    要对文件的改动保存到FILENAME文件中(类似于另存为)

选择性保存命令:

v motion:w FILENAME

按v键进入可视模式,选择文本,然后按:w FILENAME,把选中的行写到FILENAME中

提取和合并文件:

:r FILENAME    在当前文件中,读入另一个文件FILENAME的数据,并将其内容添加到光标后面,也可以读取外部的命令的输出

例如 :r !ls,并将其输出添加到光标下面

vim



Vim多窗口:

ctrl-w ctrl-w    可以在窗口之间跳转

ctrl-j    向下一个窗口跳转

ctrl-k    向上一个窗口跳转

ctrl-w-q    如果想要结束下方的窗口,利用ctrl-j移动到下方窗口,然后按下:q离开,或者ctrl-w-q同样作用

:sp filename    如果存在filename则在窗口打开一个新文件,否则是两个窗口同一个文件




Vim多文件编辑:

vim file1 file2    同时打开两个文件

:n    编辑下一个文件

:N    编辑前一个文件

:files    列出目前这个vim打开的所有文件名




Vim配置:

编辑 ~/.vimrc 文件可以个性化定制Vim

类命令:

:set xxx    可以设置xxx选项,选项名可以使用完整的,也可以使用缩写,选项前面加上no可以关闭选项,如 :set noic

vim的环境设置参数

:set nu

:set nonu

就是设置与取消行号

:set hlsearch

:set nohlsearch

hlsearch就是high light search(高亮度查找)。这个就是设置是否将查找的字符串反白的设置值。默认是hlsearch

:set autoindent

:set noautoindent

表示是否自动缩排,autoindent就是自动缩排:set backup

表示是否自动保存备份文件,一般是nobackup的,如果设置backup的话,那么当你改动任何一个文件是

,则原文件会在源文件同一目录下被另存为一个文件名为filename~的文件。

:set ruler设置显示右下角的状态栏说明:set showmode设置显示左下角的状态栏说明:set backspace=(012)

在我们按下i进入编辑模式后,可以利用刻个件(backspace)来删除任意字符的

。但是,某些distribution则不是如此。此时,我们就可以通过设置backspace来设置。

当backspace为2时,就是可以删除任意字符;为0或1时,仅可删除刚才输入的字符,而无法删除原本就已经存在的文字了

:set all显示目前所有的环境参数设置值:set 显示与系统默认不同的设置参数,一般来说就是你有自行变动过的设置参数

:syntax on

:syntax off

表示是否依据程序相关语法显示不同颜色。

:set bg=dark

:set bg=light

可用以显示不同的颜色色调默认是light。如果你经常发现批注的字体深蓝色实在很不容易看,那么这里可以设置为dark,会有不同的样式