vim使用笔记

编程技术  /  houtizong 发布于 3年前   133
1 首先 安装vim
  安装vim很简单的命令
 
sudo apt-get install vim

 
  一些操作键
  插入         i  退出         :q  退出所有的页签   :qall  退出其他的页签   :tabo  当前光标下一行换行插入     o  当前光标上一行换行插入     O  左上下右     h j k l  选择文本     摁v然后左右键选择  复制选择     y  剪切         按 v 以及左右选中后 按 x  粘贴         p  删除一行     dd  上下行交换   dd y  删除n个单词  d + 数字 + w  行首         ^(一个句子的行首,不包含空格)  行尾         $  绝对行首     0(阿拉伯数字0,行首,最左边)  句首(段首) (  下一个句首   )  查找下一个与当前光标相同的单词 * 前一个用 #  shift + % 会找到最近的括号,在括号左右进行切换  替换某一个字符 r + 新字符  重复上一次的命令 .  合并两行  J     visual模式 v   visual模式下选择一个单词 e 

2 安装NERD-tree插件
  下载NERD_tree.vim,copy到~/.vim/plugin/ 目录下,没有这个目录的话,新建这个目录
  运行 vim 输入命令
  :NEROTree 路径
  就打开这个tree结构

3 NERDTree的几个简单的操作
  按上下键进行移动光标的位置  按 o 键或者回车键 在展开与收起之间进行切换  按 shift + o 展开所有子菜单  按 i 键 在右侧出现分离的窗体中显示文件  按 t 键 在新的页签中显示文件(显示页签之后 切换页签(从左到右)的命令是 gt, 反向(从右向左)切换 gT )  按 T 键 在后台标签页中打开  按 r 键 递归刷新当前节点  按 shift + r 递归刷新根结点  按 p 键 到上层目录  按 P 键 到根目录  按 K 键 到第一个节点  按 J 键 到最后一个节点  按 u 键 打开上一层目录  按 x 键 合拢选中结点的父目录  按 shift + x键 .递归 合拢选中结点下的所有目录   


4 NERD-tree安装之后在,在窗口之间切换
  打开一个文本后,光标会移动到右边的文本中
  摁 CTRL + w 组合键
  然后在 摁 左键 就可以返回左边树状结构
  摁 CTRL + w 组合键
  然后在 摁 右键 就可以返回右边的编辑页面
  设置特定格式的文件不显示,比如.pyc文件,在vimrc文件中添加:let NERDTreeIgnore = ['\.pyc$']
  设置左侧菜单的宽度,可以通过在vimrc文件添加 let NERDTreeWinSize=宽度 来设置,其实我觉得这种定宽,不太好用,最好还是用鼠标来控制,设置鼠标在任何情况下可用 set mouse=a ,用的时候,不会出现动画效果,鼠标在中间分栏的地方点一下,就可以左右拖拽了。


5 有点不可思议的是,竟然支持haml的文档 代码高亮。很高兴

6 让代码显示行号,命令是:
  :se number
  关闭行号
  :se nonumber
  设置自动显示行号
  在配置文件 ~/.vimrc(不存在则新建之) 中添加以下代码
  set nu

撤销操作的快捷键
  命令状态下 按 u


7 安装rails.vim插件
  下载地址 http://www.vim.org/scripts/script.php?script_id=1567
  解压zip文件,把三个文件夹下的内容,分别copy到~./vim 下的文件夹下面(不存在,则新建)
  可以通过命令 :Rmodel User 跳转到model/user.rb中去

  其他的详细命令在doc中可以看到
  其中比较牛逼的gf命令,就是组合键ctrl+w 然后在摁 f(新页签)/gf(新窗口),他就会跳转到对应的类或者页面上去
  至于Rmodel之类的命令就是在后面加上model名字

8 ruby代码的自动格式化
  搜了以下命令gg=G
  但是我运行的时候,不是格式化,而是把所有的代码顶格了
  需要修改一下配置文件
  编辑文件 ~/.vimrc(不存在则创建之) 添加下列代码
  
 if has("autocmd")      filetype indent on    endif

  保存之
 
  再去找一个ruby文件测试一下命令 gg=G 成功
    
9 重新载入页签内容
  :e


10 批量注释行-注释多行
  ctrl+v 选中多行,然后按键 shift+i 在光标所在行添加内容(ruby 注释 就是 #), 最后按 ESC 键应用到选中的所有行


11 前后移动
   w  下一个单词   e  单词尾   b  前一个单词

12 插入一个字符多次
   次数数字 + i + “字符” + esc 


13 查找
   a、字符查找     f + 字符 往后查找     F + 字符 往前查找   b、文本查找     / + 文字      n 往后查找下一个     N 往前查找上一个 

  
14、代码粘贴的时候出现错乱
使用命令 set paste
完毕之后 set nopaste

15、代码自动匹配
使用snipMate.vim插件
配置snippets文件夹下各种文件匹配的对应配置文件
自动匹配括号引号等操作
打开snippets下的_.snippets文件,添加下面代码
 # auto complete ({['"  snippet (    (${1})${2}  snippet {    {${1}}${2} snippet [    [${1}]${2}  snippet <    <${1}>${2}  snippet '    '${1}'${2}  snippet "    "${1}"${2}

输入(按tab键补全,输入完()里面的内容之后再tab,跳出

16、vim执行shell
方法一:
在vim中输入 :shell 命令,然后会跳到当前terminal页面,做完操作之后,Ctrl + d 命令返回vim
方法二:
输入 :! 空格 加命令(比如ls -a) 会跳出vim编辑页面,跳转到terminal执行命令,按enter返回
如果要将shell命令的返回值插入到当前文件中,结合:r 命令来实现
:r !ls -a(把当前目录问价插入到编辑的文件中)

17、使用寄存器存储复制的内容
复制:
在普通模式下按v选中要复制的内容 " + a + y 键就是把选中的元素复制到名字为a的这个寄存器中了(a的名字可以任意替换)

粘贴:" + a + p 把寄存在a中的东西粘贴出来


附录:
我使用的一些插件以及vim配置
https://github.com/chinacheng/vimrc

  

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

留言需要登陆哦

技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成

网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];

      订阅博客周刊 去订阅

文章归档

文章标签

友情链接

Auther ·HouTiZong
侯体宗的博客
© 2020 zongscan.com
版权所有ICP证 : 粤ICP备20027696号
PHP交流群 也可以扫右边的二维码
侯体宗的博客