w
e
x
h
j
k
l
给文档加密 :X 解密 :set key=空
V按行选定字符
v按光标所在的位置选定字符
p:粘贴 如果是V 复制的话,则粘贴的时候粘贴在光标的后面,如果是v复制的话 则粘贴的时候粘贴在光标的下面一行。
P:粘贴
撤销快捷键:u
撤销上次撤销的快捷键 ctrl+r
如果想一直重复上次的命令的话 使用“ . ” 点
以下是以前没有用到过的

    (1)地址定界:
                :start_pos,end_pos
                #;具体的第#行,例如2来表示第2行
                #,#;左侧的#表示起始位置,右侧的#表示结束位置
                #,+#;从左侧#表示行的起始,加上右侧#表示的行数。
                .;表示当前行
                $;表示最后一行
                                .,$-1  表示当前行到倒数第二行
                %;表示全文,相当于1,$**
    (2)使用方式;
                后面跟上一个编辑命令
                        d:删除所选范围行
                        y:复制所选范围行
                        w:另存为当前所选行 :1,$ /tmp/lingcun
                        r:在指定位置插入指定文件的内容,.r当前光标处,100r
                        表示100行的位置插入。。。。
    (3)查找
                /PATTERN 从光标所在处查找带最后
                ?PATTERN  从结尾处向前查找 
                可以使用正则表达式  如 /\来查找所有的r..t的字符串

                   查找后n代表向下找  N代表向前找
    (4)查找并替换
                            s 替换的意思
                    格式:  s/   /    /
                    s/要替换的内容/替换成什么内容/修饰符
                    找替换的内容:可以使用模式,正则表达式...
                        替换成什么内容:不能使用模式,但是可以使用  \1,\2......等后向引用符号,可以使用&符号来引用前面查找时查找到的到的整个内容
                     修饰符:i忽略大小写
                                                     g:替换全文,如果不加g则默认替换第一行的第一个

vim以前没有用到过的命令 查找替换等
以上使用了后向引用 \1(第一个小括号),使用%s和/g 替换全文
使用一下命令把文件中所有/sbin/替换成/home/
vim以前没有用到过的命令 查找替换等
整个就需要使用转意符\\ 当然可以使用所有的特殊符号 例如:再换回去...
vim以前没有用到过的命令 查找替换等_第1张图片

:%s#/home/#/sbin/#g:

vim以前没有用到过的命令 查找替换等_第2张图片
两个练习题:
1、复制 /etc/grub2.cfg/到/tmp/下,用查找替换命令删除文件中行首的空白字符
vim以前没有用到过的命令 查找替换等_第3张图片
不知道什么原因 要执行好几次才行....(+) 整个匹配至少一次出现的
2、复制/etc/rc.d/init.d/functions文件至/tmp、目录下,用查找替换命令为每行为空白字符开头的行,行首添加一个#
vim以前没有用到过的命令 查找替换等_第4张图片
:%s/^[[:space:]].*$/#&/g

意思是查找空白行开头的行,以任何字符结尾的行,然后使用&特殊符号引用前面所有查找到的字符串 在前面加上# 然后/g全局替换

同时打开多个文件 可以2.3.4
vim -o file1 file2 file3.....
这样打开是上下排列的
使用-O是左右排列的
可以使用Ctrl+w然后按下上下左右键来切换窗口
也可以打开一个文件后把它分割为多个窗口,这样可以对照着写
具体实现的是 ctri+w 松开后按下s 或者是v 这个是左右或者是上下的。。
另外还可以定制vim的工作模式,可以修改配置文件 使其永久生效
全局配置文件 /etc/vimrc
个人的:~/.vimrc
还有几个小功能:
(1)显示行号的 :set nu 取消 :set noun
(2)括号匹配: :set sm 取消 :set nosm
(3)自动缩进: set ai 取消 :set noai
以上最重要的就是 末行定界:
$ . n,m ^
还可以使用模式:
/pat1/,
/pat1/,/pat2/查找符合两个模式的所有。。
当然模式后面还可以跟上 删除 复制 替换等命令
还可以使用反向引用 ()前 \1后 互相对应 &此符号表示前面所欲的模式都匹配...
1、首先需要按ESC键回到命令模式;
然后输入命令:w fileName,文件不存在会自动新建文件。

用法示例:
另存为文件为temp.cpp
:w /home/youname/temp.cpp

文件就会默认保存在当前工作路径。