Vim编辑器使用总结


全屏幕的编辑器:VIM

vi: visual interface

                vi, vi iMproved

vim: 

模式化:

编辑模式:命令模式

输入模式:

末行模式:


编辑模式 --> 输入模式:

i: insert, 

a:append,

o:new line,

I: 行首

A:行尾

O:上方新建行


输入模式 --> 编辑模式:

ESC


编辑模式 --> 末行模式:

:


末行模式 --> 编辑模式

ESC


打开vim:

# vim

# vim /PATH/TO/SOMEFILE

+#:#为行号,打开文件后光标定位到第#行开头

+/PATTERN :打开后光标定位到匹配的第一个Pattern处


关闭vim:

:q    未做修改时直接退出

:q!   改动过后不保存退出

:wq   保存修改后退出

:x    保存修改退出


ZZ:保存退出


光标跳转:

字符间跳转:

h: 向左

l: 向右

j: 向下

k: 向上


#COMMAND:方向键前加数字表示向指定方向跳几个字符


单词间跳转:

w:后单词的词首

e:当前或后一个单词的词尾;

b:当前或前一单词的词首;


#COMMAND:指定命令的倍数


行内跳转:

^: 跳转至行首的第一个非空白字符;

0:跳转至行首;

$: 跳转至行尾;


行间移动:

#G:     跳至第#行行首

1G, gg  跳至文件首部

G       跳至文件结尾


句间移动:

)

(


段落间移动:

}

{


编辑命令:


字符编辑:

x: 删除光标所在处的字符

#x:删除后面连续#个字符


xp: 剪切后粘贴(x后字符将保存至剪贴板)


r: 替换光标所在处的字符;


删除命令d:


d^  到行首

d$  到行尾

d0  到行首


dw, de,删除后一词 db:删除前一词


dd: 删除整行


#COMMAND  向指定方向执行命令的#个


注意:删除的内容会被vim编辑器保存至缓冲区当中;


粘贴:p (paste, put)

如果此复制或删除的内容不是一个完整行

p:粘贴至当前光标所在处后面;

P:粘贴至当前光标所在处前面;


如果复制的内容是完整行(可不止一行)

p: 粘贴至当前光标所在行下方;

P:行上方;


复制命令:y, yank

y

y$, y^, y0

ye, yw, yb


yy: 复制行


#COMMAND  向指定方向执行命令的#个


改变命令:c, change

c$, c^, c0

cb, ce, cw

cc: 


#COMMAND  向指定方向执行命令的#个


撤消此前的编辑操作:

u: undo

撤消此前编辑操作;


#u


Ctrl+r:

恢复此前的撤消操作


.: 重复前一个编辑操作


翻屏操作:

Ctrl+f: 向后一屏;

Ctrl+b:向前一屏;


Ctrl+d: 向后半屏

Ctrl+u: 向前半屏


vim内建教程:

vimtutor


vim的末行模式


(1) 地址,定界

:start_pos,end_pos

#:第#行;

#,#

#,+#

.: 当前行

$: 最后一行

%: 全文,相当于1,$


/pat1/:第一次被此模式所匹配到的行;

#,/pat1/

/pat1/,/pat2/


后可跟编辑命令:

d, y

w, r


(2) 查找

/PATTERN:向尾部进行

?PATTERN:向首部进行

n: 与命令同方向

N:与命令反方向 


(3) 查找替换

s: 在末行模式下,在地址定界的范围内完成查找替换操作;


s/要查找的内容/替换为的内容/修饰符 

要查找的内容:可使用模式

替换为的内容:不能使用模式,但可以使用后向引用符号,以引用前面模式中的分组括号所匹配到的内容;

\1, \2, ...

&:引用“要找的内容”匹配到的整个内容;

修饰符:

i: 忽略大小写

g: 全局替换


/:用于分隔符,所以,要查找的内容或替换为的内容中出现此符号,要使用\对其转义,使用格式:\/

分隔符可替换为其它字符:例如@,#等;


多文件模式:

vim FILE1 FILE2 ...

:next

:first

:prev

:last


:wqall

:q!all


多文件窗口分割:

vim -o|-O FILE1 FILE2 ...


Ctrl+w, ARROW


单文件窗口分割:

Ctrl+w, s: split, 水平分割

Ctrl+w, v: vertical, 垂直分割


定制vim的某些工作特性:

(1) 行号

显示:set nu

禁用:set nonu

(2) 括号匹配

显示:set sm

禁用:set nosm

(3) 自动缩进:

set ai

set noai

(4) 高亮搜索

set hlsearch

set nohlsearch

(5) 语法着色

syntax on

syntax off

(6) 忽略字符大小写

set ic

set noic


:help 获取帮助

:help SUBJECT


特性设定的永久生效方式:

全局配置文件:/etc/vimrc

用户个人的配置文件:~/.vimrc



1、复制/etc/grub.cfg配置文件至/tmp目录,用查找替换命令删除/tmp/grub.cfg文件中的行首的空白字符;

   %s@^[[:space:]]@@

2、复制/etc/rc.d/init.d/functions文件至/tmp目录,用查找替换命令为/tmp/functions的每行开头为空白字符的行的行首加一个#; 原有空白字符保留;

   %s@^[[:space:]]@#&@

3、替换/tmp/functions文件中的/etc/sysconfig/init为/var/log;

   %s@\/tmp\/functions@\/etc\/sysconfig\/init@

4、删除/tmp/functions文件中所以#开头,且#后面至少跟了一个空白字符的行的行首#;

   %s@^#\([[:space:]]\+\)@\1@

你可能感兴趣的:(vim,find)