Linux下的编辑器——vi大全(转) xp 交换两个字符位置 ddp 上下两行调换 J 上下两行合并 dG 删除所有行 d$ 从当前位置删除到行尾 y$ 从当前位置复制到行尾, 如果要粘贴到其他地方 p 就可以了 :ab string strings 例如 ":ab usa United States of America" , 当你在文见里插入 usa 时 United States of America 就蹦出来了 :g/^/m0 把文件内容反转 :map keys new_seq 定义你当前键盘命令 :set [all] vi or ex 的编辑状态如显示每行 :set nu :X 然后系统会提示输入密码, 输入密码后存盘退出, 保存后就加密了下次编辑时使用vi -x filename, 系统会提示你输入密码在命令状态下,nyy表示拷贝从光标行起的下n行内容,p表示paste,粘贴下来在光标处。我常用到的单个字符替换用r,覆盖多个字符用R,用多个字符替换一个字符用s,整行替换用S :%s/old_word/new_word/g 这个指令是于在整个文件中替换特定字符串将光标移到第n行,按下 mk 将光标移到第m行,按下 "ay'k 即将第n到m的行存到a寄存器,以此类推,b,c........寄存器等不好意思,补充一下,想粘贴到某处,直接将光标移到某地,按下 ‘ap 即可删除命令操作 d l 删除当前字符(与x命令功能相同) d 0 删除到某一行的开始位置 d ^ 删除到某一行的第一个字符位置(不包括空格或TA B字符) d w 删除到某个单词的结尾位置 d 3 w 删除到第三个单词的结尾位置 d b 删除到某个单词的开始位置 d W 删除到某个以空格作为分隔符的单词的结尾位置 d B 删除到某个以空格作为分隔符的单词的开始位置删除命令操作 d 7 B 删除到前面7个以空格作为分隔符的单词的开始位置 d)删除到某个语句的结尾位置 d 4)删除到第四个语句的结尾位置 d(删除到某个语句的开始位置 d } 删除到某个段落的结尾位置 d { 删除到某个段落的开始位置 d 7 { 删除到当前段落起始位置之前的第7个段落位置 d d 删除当前行 d /t e x t 删除从文本中出现“ t e x t”中所指定字样的位置,一直向前直到下一个该字样所出现的位置(但不包括该字样)之间的内容 d fc 删除从文本中出现字符“c”的位置,一直向前直到下一个该字符所出现的位置(包括该字符)之间的内容 d tc 删除当前行直到下一个字符“ c”所出现位置之间的内容 D 删除到某一行的结尾 d $ 删除到某一行的结尾 5 d d 删除从当前行所开始的5行内容 d L 删除直到屏幕上最后一行的内容 d H 删除直到屏幕上第一行的内容 d G 删除直到工作缓存区结尾的内容 d 1 G 删除直到工作缓存区开始的内容修改命令操作 c l 更改当前字符 c w 修改到某个单词的结尾位置 c 3 w 修改到第三个单词的结尾位置 c b 修改到某个单词的开始位置 c W 修改到某个以空格作为分隔符的单词的结尾位置 c B 修改到某个以空格作为分隔符的单词的开始位置 c 7 B 修改到前面7个以空格作为分隔符的单词的开始位置 c 0 修改到某行的结尾位置 c)修改到某个语句的结尾位置 c 4)修改到第四个语句的结尾位置 c(修改到某个语句的开始位置 c } 修改到某个段落的结尾位置 c { 修改到某个段落的开始位置 c 7 { 修改到当前段落起始位置之前的第7个段落位置 c tc 修改当前行直到下一个字符c所出现位置之间的内容 C 修改到某一行的结尾 c c 修改当前行 5 c c 修改从当前行所开始的5行内容替换命令操作 s 将当前字符替换为一个或多个字符 S 将当前行替换为一个或多个字符 5 s 将从当前字符开始的5个字符替换为一个或多个字符下载 vi替换使用规则: :g/s1/s/s2/s3/g 第一个g表示对每一个包括s1的行都进行替换,第二个g表示对每一行包括s1的行所有的s2都用s3