当前位置:首页 > 开发 > 操作系统 > 正文

vim使用笔记

发表于: 2011-10-28   作者:hotsunshine   来源:转载   浏览次数:
vim
摘要: 1 首先 安装vim   安装vim很简单的命令   sudo apt-get install vim     一些操作键 插入 i 退出 :q 退出所有的页签 :qall 退出其他的页签 :tabo 当前光标下一行换行插入 o 当前光标上一行换行插入
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

  

vim使用笔记

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
vim使用笔记 快捷键 # : 在全文查找光标所在的这个词 :set guioptions+=m : 显示菜单栏 cltr+d:
阅读vim-7.2 中文用户手册的一点记录 VIM官网: http://www.vim.org/ 版本:vim-7.3.tar.bz2.tar.bz2
Vim目前已经有各主流系统的版本,尽管vim较vi已经改良了不少,但是初次使用还是会一头雾水,不知如
真是不知不觉过了一年,前段时间忙着考试什么的,没再写笔记写博客,考完又懒懒地玩了几天。这几天
vim实用笔记 真是不知不觉过了一年,前段时间忙着考试什么的,没再写笔记写博客,考完又懒懒地玩了
最近在看《学习vi和vim编辑器第7版中文版》,一些基本的命令这里就不介绍了,反正大家都找得到,这
读完vimtutor,把summary抽出来合到一起以便随时翻看。 If you only read the text, you will forge
很多时候在用到vim的命令的时候,都会去网上搜索,殊不知,如果熟练使用VIM的help,可以达到事半功
vim也用了3年多了,也折腾过一阵子配置文件,最近发现一个ivim的配置文件还不错,具体安装方法如下
一、我们为什么要学习vim编辑器? Linux的命令行界面下面有非常多的文本编辑器。比如经常听说的就有
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号