zoukankan      html  css  js  c++  java
  • vim常用命令汇总

    neonlight@live.cn发表,转载请注明出处。

    一、进入编辑器
    行:edit,e,ex
    屏幕:vi,v,view
    vi -r filename(继续意外中断的文件编辑)
    vi file1 file2 file3(编辑完前一个文件,用:w保存后,用:n开始下一个文件编辑)
    vi -x filename(对encrypt加密文件编辑)
    vi 中执行Unix命令([[加数字代表独到第几行]加r代表把结果读进vi中]!ls)
    vi 命令行编辑功能($set -o vi)

    二、行编辑器命令
    edit(或e,ex)命令
    屏编转换:v(转屏编),vi(转屏编),:(转行便)
    :wq(存盘退出),:q(退出),:q!(强行退出),:w(保存),:w file(另存为)
    :n(移动到n行),:np(显示并移动到n行),:m,np(显示m行到n行内容,移动到n行),
    :d(显示当前行),:nd(删除第n行内容,移动到n下一行),:m,nd(删除第m到第n行,移动到n行),
    :a(在当前行的下移行开始输入文本,直到ESC),1,$(第一行到最后行),:.,$(当前行到最后行)

    举例:
    :s/stirng1/string2/(把第一个字符替换为第二个字符)
    :m,ns/string1/string2/g(g代表所有,mn替换范围限制在m行到n行中)
    :%s/string1/string2/g(%代表全文替换)

    三、vi基础控制命令
    :wq(存盘退出),:q(退出),:q!(强行退出),:w(保存),:w file(另存为)
    :r filename(把文件加到当前行后)
    光标移动:上下左右方向键,或hjkl,^(行首),$(行尾),
    +(下移一行),-(上移一行),空格(左移),退格(右移)
    进入编辑态:(光标前),I(行首),a(光标后),A(行尾),o(下面加行),O(上面加行),ESC(返回命令模式)

    四、vi基础编辑命令
    删除文本:x(字符),dw(单词),D(当前位置到行尾),dd(当前行)
    替换文本:r(单个字符),cw(单词)
    搜索文本:/(当前向尾),?(当前向头),n(找下一个),N(找前一个)
    其它命令:u(撤销),.(重复),J(连接下移行),P(粘贴删除内容)

    命令举例:2dd/p(删除两行粘贴),2yy/p(复制两行粘贴)

    五、vi设置命令
    加行序号:set number,set nonumber

    六、vi集合命令
    在一段文字前,垂直插入字符串

    ctrl+v  //垂直作块选中段落首列
    shirt+i //在文本前插入
    输入字符串
    Esc      //命令结束
    }

    七、vi编程技巧
    跟踪头文件:gf
    查看函数定义:[+I
    跳转到函数定义:[+tab
    ctags命令
    定义跟踪:ctrl+[
    ctrl+o:跟踪返回

    可用ctrl+z将vi转入后台,fg可返回vi
    make调试窗口:
    在执行过:make后,执行cw,窗口出现
    关闭调试窗口cclose或ctrl+w  c

    .重复上次的命令

    八、vim折叠命令
    前言准备:
    (1)首先保证自己安装的是完整版vim,ubuntu 8.04自带的不是完整版。
    (2)懒得看长文章,列举最实用的折叠语句。
    (3)在foldmethod=manual 状态下执行,你可以用:set foldmethod=manual命令切换到这个状态。
    (4)neonlight@live.cn发表,转载请注明出处。

    建立折叠:
    (1)zf:用v做块选定要折叠的语句,折叠用zf(z很像折叠的形状,f是fold缩写)。
    (2)zf[x]j:向下折叠x行,例如zf9j。
    (3)可以用一般的定位的方法来告诉VIM你要折叠那些地方:也可以用marker, 还可以用行号:20,50, 就可以把20行到五十行折叠起来 。
    (4)方便的折起函数:移动到一个花括号{上(或者函数体内也行), 用zfa}, 就可以将下面的匹配的花括号之间的内容折起来。 其他的折叠方法还有zf/string, 可以折叠到下一个匹配的string。

    使用折叠:
    (1)移动的时候在前面加一个z就可以在折叠的地方移动, 比如zj,就会跳到下一个折叠, zk就是上一个。
    (2)要打开的话可以zo,o是open的意思, zO打开所有的折叠。
    (3)关上用zc, c是close。 在zO之后用zc会关上所有打开的折叠。
    (4)折叠可以嵌套, zr可以打开第一层的折叠,zR可以打开所有层的折叠, 与之对应的是zm和zM, 是按层关上折叠。 比如说按zm, 会从最里层的层叠关起, 连续zm就会一直关到最上层的折叠。

    查找到了折叠里面会将折叠打开, 处理完了之后要自己将折叠关上。

    折叠选项:
    可以让VIM根据语法, 缩进,标记自动折叠。 用set foldmethod=foldoption 来设定。 可以查看一下foldmethod 。

    保留折叠:
    (1)要下一次打开的时候还保留折叠可以在离开的时候:mkview,再进来的时候:loadview就可以了。
    (2)当然也可以将这两句加到vimrc里面让其自动完成。
    au BufWinLeave * mkview
    au BufWinEnter * silent loadview
    这样每次就可以看到上次的折叠了。

    其它技巧:
    :set foldmethod=manual后,zc按缩进关闭所有折叠

    九、vim标签命令

    :tabnew 打开新标签

    gt 标签间转换

    十、vim选块命令

    选定块后

    shift+<向左移,shift+>向右移

  • 相关阅读:
    Docker 系列(四):Docker 容器数据卷简单使用
    【QML 动态对象】使用JS中的语句动态创建和销毁组件
    【QML 动态对象】Loader动态加载组件
    vue-cli2.0全局使用sass变量
    两边+居中 布局
    跳转子路由后左侧菜单跳转为空白页,路由地址出错
    el-tree可搜索单选
    el-tree固定高度加滚动条
    前端 权限控制 方式
    综合分析类
  • 原文地址:https://www.cnblogs.com/wycg1984/p/1735939.html
Copyright © 2011-2022 走看看