常用命令

批量删除行数据

  • 在文件中,删除当前行前n行的数据。命令为 :n,.d ,若是删除当前行之前的全部数据, :1,.d

  1. vim中查找字符,并忽略大小写
  • 在所要查的字符后面,添加 \c 即可,例如 select \cselect\c 如下图所示:
    vim - 图1

  1. vim -O autoAdaptDis.sh spf13-vim.sh 打开两个文件,两个纵向排列的窗口,
  • vim -o 两个横向排列的窗口
  • ctrl+w+w,进行切换窗口
  • :qa 全部退出
  1. vim -p autoAdaptDis.sh spf13-vim.sh 两个文件呈标签页打开,
  • :tabnext 进行切换
  1. vim -d st-hidecursor-0.8.1.diff st.c 查看两个文件的不同
  2. ls | vim - 将目录的文件(夹)名输入到buffer内
  3. vim 打开一个文件,:e /xxx/xxx/b.sh 可以打开另一个文件 :edit
  • 也可以用 :find
  • :b1 查看打开的第一个文件 :b2 打开查看的第二个文件
  • :bn 打开下一个文件 :bp打开上一个文件
  1. vim打开一个文件时,:enew 新开一个buffer, :write ~/anew.txt 保存文件
  • :saveas ~/bb.sh 不要保存,表示另存为一个文件
  1. :update ,也是保存,只有在对文件做改变时才会提示,否则不会出现提示

vim

  • a A o O i I
  • 10G 表示光标移动到第10行
  • vim profile +10 表示直接从文件的第10行开始编辑
  • w 表示单词单词之间的移动
  • 用户尽量不修改系统的配置文件,修改家目录下的相关的配置文件,
    • vim ~/.vimrc 添加内容 set nu ,然后用户编辑文件时,就会自动展示行号了
  • 2x 删除光标后两个字符
    • X 删除光标后一个字符
  • dw 删除光标后的一个单词
  • d0 删除光标前本行的所有内容
  • . 重复上一个操作,比方说dd
    • D 删除光标后本行所有内容,包括光标所在字符
  • u 撤销刚刚的操作
    • ctrl+u 反撤销
  • v 然后用键盘选中几行内容,《》 进行行的缩进
  • vim .vimrc 添加内容 set ts=4 ,表示用户编辑文件时 tab键补全 是4个字符
  • yw 复制光标后的单词(前提是光标要在词首,否则只是复制光标到单词结束)
    • 末行模式下 1,9 y ,表示复制第1到第9行
    • .,$-3y 从光标所在行,到末尾($)向上数3行进行复制
  • 查找替换内容, 末行模式下, %s/after/before/g 将全部after 替换成before
    • /gi 表示无论大小写全部替换 ignore
  • 末行模式下正在编辑内容同时要查看其他文件时,但又不想退出vim, :!less /etc/passwd
  • 编辑模式下,ctrl+n 可以进行单词的补全

  • 查找root在行首的文件内容, grep '^root' /etc/passwd
    • root在行尾的 'root$'
  • 管道,将前面的执行结果交给后面的命令执行, head -9 /etc/profile | tail -1