vim的配置文件

  ~/.vimrc        用户的默认配置文件
  ~/.vim/plugin/   用户的默认脚本文件的存放文件夹
  ~/.vim/ftplugin/ 用户的默认文件类型相关脚本文件的存放文件夹
vim提供的编程支持   文本信息(行号、文件名称等)
  代码缩进
  语法高亮
  高速定位
  标记位置
  全文搜索
  补全
  多文件编辑
  多窗体编辑
  函数列表
  文件列表
  函数跳转
  语法错误
  字符集的编码
  二进制查看   等等...
初试vim   在终端以root启动 输入vim命令 显示vim首页 :r filename 读入一个文件内容,并写入到当前编辑器中 按i进入插入模式 编辑完后:w保存 编辑完后按esc退出插入模式 进入正常模式 然后输入:sh进入shell 编译执行
文本信息配置 set nu(写入配置文件.vimrc中) 显示行号。
ctrl-g(正常模式下使用命令) 显示文件信息和当前行。
statusline.vim(插件) 添加底部状态栏。
代码缩进配置 filetype on(写入配置文件.vimrc中) 使vim对文件类型敏感。
autocmd FileType c,cpp,h :setlocal cindent cinoptions=:0,g0,t0(写入配置文件.vimrc中) 设置c缩进风格。详细详情參见:h cinoptions-values。
autocmd FileType c,cpp,h :setlocal et sta sw=4 sts=4 tabstop=4(写入配置文件.vimrc中) 设置一次缩进的距离是4个空格。
=(正常模式或者可视模式下使用命令) 依照缩进风格排版代码。
<(可视模式下使用命令) 向左缩进一级。
>(可视模式下使用命令) 向右缩进一级。
语法高亮 filetype plugin on(写入配置文件.vimrc中) 通常安装的vim中已经增加了各种语言的语法高亮插件。我们仅仅须要打开文件类型相关的插件就能够了。
高速定位 gd(正常模式下使用命令) 跳转到局部变量定义处。
gD(正常模式下使用命令) 跳转到全局标量定义处。
*(正常模式下使用命令) 搜索并跳到下一个光标所在的单词。
g*(正常模式下使用命令) 功能接近*,可是查找的目标不带\<和\>单词分界符号。 #(正常模式下使用命令) 搜索并跳到上一个光标所在的单词。
g#(正常模式下使用命令) 功能接近#,可是查找的目标不带\<和\>单词分界符号。
标记位置 m{a-zA-Z0-9} (正常模式下使用命令) 在当前位置制作一个标记,标记名字能够使用a-z或者A-Z之间的随意字符,比如输入ma,就是将当前位置标记为a标记。注意a-z为单文件标记,不可跨文件使用。而A-Z0-9为全局标记,能够跨文件使用。 ‘{a-zA-Z0-9} (正常模式下使用命令) 跳转到本文件的标记上。 :marks [{a-zA-z0-9}] (正常模式下使用命令) 查看指定标记的内容,不写标记号则查看全部。 :delm {a-zA-z0-9} (正常模式下使用命令) 删除一个标记。
全文搜索 :vimgrep(正常模式下使用命令) 全文搜索,功能同grep命令。可是支持在vim进行多文件跳转定位。 用法:vimgrep 正則表達式 文件。 文件支持通配符。比如*.c代表全部的.c文件。 假设希望递归搜索,能够使用**/*,表示搜索全部的文件。
:cl 列举结果
:cc(正常模式下使用命令) 当前结果
:cn(正常模式下使用命令) 下一个结果
:cp(正常模式下使用命令) 上一个结果
:cw(正常模式下使用命令) 又一次打开搜索结果窗体
多文件编辑 vim f1 f2 …… fn(在shell下使用命令) 打开多个文件。
:e 文件名称(正常模式下使用命令) 在vim中打开新文件。 :ls(正常模式下使用命令) 全部打开文件列表。
:bn(正常模式下使用命令) 到下一个文件。
:bp(正常模式下使用命令) 到上一个文件。
:b# 或 ctrl-6(正常模式下使用命令) 到近期的前一个文件。
set  autowriteall(写入配置文件.vimrc中) 假设讨厌每次打开新文件,vim喋喋不休的要求你保存。那么能够设置自己主动保存。
多窗体编辑
:sp  文件名称(正常模式下使用命令) 横向拆分窗体(多行窗体)。 :vsp 文件名称(正常模式下使用命令) 纵向拆分窗体(多列窗体)。
ctrl-w h(正常模式下使用命令) 将光标移动到左一个窗体。
ctrl-w j(正常模式下使用命令) 将光标移动到下一个窗体。
ctrl-w k(正常模式下使用命令) 将光标移动到上一个窗体。
ctrl-w l(正常模式下使用命令) 将光标移动到右一个窗体。 ctrl-w +(正常模式下使用命令) 当前窗体尺寸变大。
ctrl-w -(正常模式下使用命令) 当前窗体尺寸变小。
ctrl-w o(正常模式下使用命令) 仅仅显示当前窗体。
函数列表
taglist.vim(插件) 列表插件。
let Tlist_Use_Right_Window = 1(写入配置文件.vimrc中) 假设希望列表在右側显示,则增加这个配置,默认是左側。
:Tlist(正常模式下使用命令) 显示函数列表。
d(在taglist窗体下使用) 从列表中删除文件。
+(在taglist窗体下使用) 展开文件。
-(在taglist窗体下使用) 折叠文件。 =(在taglist窗体下使用) 折叠全部文件。
x(在taglist窗体下使用) 显示或隐藏正常窗体。
文件列表
NERD_tree.vim(插件) 横向拆分窗体(多行窗体)。 let NERDTreeWinPos = 'right'(写入配置文件.vimrc中) 假设希望文件树在右側显示。则增加这个配置,默认是左側。
:NERDTree(正常模式下使用命令) 显示文件列表。
函数跳转
ctags(软件,须要另外安装) 生成多种语言tag文件的软件。 Ctags –R *.c(在shell下使用命令) 生成当前路径全部.c文件的tag。-R代表递归。
:ta 标记 或 [g] ctrl-] 列举标签(多个标签)或者跳转到标签(单个标签)。 ctrl-t 返回上一级。 :tags 列出标签栈。
语法错误
:make(正常模式下使用命令) 运行外部make命令。而且显示全部的编译警告和错误,而且能够在vim中定位。
:cl 列举结果
:cc(正常模式下使用命令) 当前结果
:cn(正常模式下使用命令) 下一个结果
:cp(正常模式下使用命令) 上一个结果
:cw(正常模式下使用命令) 又一次打开搜索结果窗体
二进制文件查看 (鉴于有同学理解出现分歧 将二进制查看更新为二进制文件查看) :范围!xxd(正常模式下使用命令) 把指定范围的部分转化为二进制文件阅读方式。 :范围!xxd -r(正常模式下使用命令) 把指定范围的部分转回字符阅读方式。
字符集的编码
let &termencoding=&encoding
set fileencodings=utf-8,gbk,cp936(写入配置文件.vimrc中)
 增加多种字符编码支持。 :set fileencoding(正常模式下使用命令) 设定文件字符编码。
补充 ctrl-p(插入模式下使用命令) 跳出补全菜单。
ctrl-n(在跳出补全菜单后) 下一个结果。
ctrl-p(在跳出补全菜单后) 上一个结果。
ctrl-y(在跳出补全菜单后) 选择当前结果。
ctrl-x ctrl-f(插入模式下使用命令) 文件名称补全。
ctrl-x ctrl-i(插入模式下使用命令) 包括的头文件。
ctrl-x ctrl-](插入模式下使用命令) ctags(将在下文中介绍)符号补全。 ctrl-x ctrl-o(插入模式下使用命令) omni补全,须要设置omnifunc变量。
vim其它命令 (參考vi(vim)教程) 打开文件、保存、关闭文件: vi filename       //打开filename文件
:w              //保存文件
:w vpser.net  //保存至vpser.net文件
:q             //退出编辑器。假设文件已改动请使用以下的命令
:q!           //退出编辑器。且不保存
:wq              //退出编辑器。且保存文件 插入文本或行: a      //在当前光标位置的右边加入文本
i       //在当前光标位置的左边加入文本
A     //在当前行的末尾位置加入文本
I      //在当前行的開始处加入文本(非空字符的行首)
O     //在当前行的上面新建一行
o     //在当前行的以下新建一行
R    //替换(覆盖)当前光标位置及后面的若干文本
J    //合并光标所在行及下一行为一行(依旧在命令模式) 移动光标: 使用上下左右方向键 命令模式下:h   向左、j   向下 、k   向上、l  向右。
空格键 向右、Backspace  向左、Enter  移动到下一行首、-  移动到上一行首。 删除: x         //删除当前字符
nx        //删除从光标開始的n个字符
dd      //删除当前行
ndd   //向下删除当前行在内的n行
u       //撤销上一步操作
U      //撤销对当前行的全部操作 搜索: /vpser     //向光标下搜索vpser字符串
?vpser    //向光标上搜索vpser字符串
n           //向下搜索前一个搜素动作
N           //向上搜索前一个搜索动作 跳转: n+        //向下跳n行
n-         //向上跳n行
nG        //跳到行号为n的行
G           //跳至文件的底部 设置行号: :set  nu     //显示行号
:set nonu    //取消显示行号 复制: yy    //将当前行拷贝到缓存区。也能够用 "ayy 复制,"a 为缓冲区,a也能够替换为a到z的随意字母,能够完毕多个复制任务。
nyy   //将当前行向下n行拷贝到缓冲区。也能够用 "anyy 复制。"a 为缓冲区,a也能够替换为a到z的随意字母,能够完毕多个复制任务。
yw    //复制从光标開始到词尾的字符。
nyw   //复制从光标開始的n个单词。
y^      //复制从光标到行首的内容。 y$      //复制从光标到行尾的内容。
p        //粘贴剪切板里的内容在光标后,假设使用了前面的自己定义缓冲区,建议使用"ap 进行粘贴。 P        //粘贴剪切板里的内容在光标前,假设使用了前面的自己定义缓冲区,建议使用"aP 进行粘贴。 替换: :s/old/new      //用new替换行中首次出现的old
:s/old/new/g         //用new替换行中全部的old
:n,m s/old/new/g     //用new替换从n到m行里全部的old
:%s/old/new/g      //用new替换当前文件中全部的old 编辑其它资源: :e otherfilename    //编辑文件名称为otherfilename的文件。 改动文件格式: :set fileformat=unix   //将文件改动为unix格式,如win以下的文本文件在linux下会出现^M。
客串答案   c传递參数都是值传递的,指针的一个作用是为了解决实现类似引用的效果,另外,使用指针能够直接操作内存!   孙鹤同学的解释:   每一个线程有固定大小的栈,通常主线程的栈默认通常是8M,用指针去引用内存,往往是在使用堆内存,栈是有限的,而且受生存期影响,所以用堆的情况要比用栈很多其它,有些东西生存期非常长,超过一个函数的调用。那么就须要用堆内存。
本篇到此 希望对大家有帮助 下载地址:http://www.vim.org/scripts/script.php? script_id=273 “Tag List" 插件是一个为VIM编写的源码浏览插件,须要ctags的支撑 ,直接能够在左边列出函数列表,全局參数列表,宏。(能够排序) 1、下载taglist.zip文件,解压到$HOME/.vim文件夹下,或者$HOME/vimfiles或$VIM/vimfiles文件夹下。在这一步后,你应该有这两个文件(文件夹结构应该被保留)          plugin/taglist.vim - taglist 插件文件
         doc/taglist.txt    -  文档(帮助)文件 2. 进入 $HOME/.vim/doc 或者 $HOME/vimfiles/doc 或者 $VIM/vimfiles/doc 
    文件夹, 执行Vim,在命令行模式下执行 ":helptags ." 命令处理taglist帮助文件,假设没有这上步,你将不能得到taglist帮助提示 3、假设ctags工具不在你的PATH搜索路径中,你须要在$HOME/.vimrc中设置Tlist_Ctags_Cmd 变量指出ctags的路径。 4、假设你执行的是terminal/console版本号的VIM,以及terminal 不支持改变窗体的宽度,你须要在$/HOME/.vimrc设置    'Tlist_Inc_Winwidth'  变量为0, 5、重新启动vim 6、你能够在vim的命令行模式中使用 ":TlistToggle" 命令打开/关闭taglist窗体。你能够使用 ":help taglist" 命令得到很多其它的关于使用taglist插件的信息
NERDTree的安装和使用
2009-09-03 12:47
NERDTree来自:
http://www.vim.org/scripts/script.php?script_id=1658 A。安装。 1,解压后,拷贝plugin/NERD_tree.vim文件到~/.vim/plugin下。拷贝doc/NERD_tree.txt文件到~/.vim/doc下 2,打开vim,载入文档。 :helptags ~/.vim/doc/NERD_tree.txt 以后查看帮助仅仅要 :h NERD_tree.txt 就可以。 B。经常使用使用。 1。标签。 1 - 1。打开一个文件夹。 :NERDTree
~/share/abc 1 - 2。标记它。 :Bookmark your_mark_name_of_abc 1 - 3。打开这个标签。 :NERDTree your_mark_name_of_abc  效果同 1 - 1。 2,高速帮助光标在NERDTree的文件夹工作区时候,按? 键。
 
去除高亮
方法一::nohlsearch
方法二:/awertgvcxz (查找一个肯定不存在的字符串)
设置了高亮搜索(:set hlsearch)以后,能够通过 :set nohlsearch 永久地关闭高亮
显示,也能够通过 :nohlsearch 临时关闭高亮显示。下次搜索时将自己主动恢复高亮。
怎么改动当前文件的文件名称

最相近的方法是 :saveas xxx 可是原文件还是存在的

this is the same way to same the file

then you need to delete the original file

vim note(6)--vim的一个较全的介绍(转)的更多相关文章

  1. 【Vim命令大全】史上最全的Vim命令

    曾经使用了两年多的Vim,手册也翻过一遍.虽然现在不怎么用vim了,曾经的笔记还是贴出来,与喜欢vim的朋友分享. 1. 关于Vim vim是我最喜欢的编辑器,也是linux下第二强大的编辑器. 虽然 ...

  2. vim 命令大全(写的非常全和好)http://blog.csdn.net/woshixiaosimao/article/details/54312738

    下文转自链接.由原作者陈皓译自<Learn ViM Progressively>,非常不错. ——————————正文开始—————————— 你想以最快的速度学习人类史上最好的文本编辑器 ...

  3. vim编辑python脚本时Tab补全

    所属分类:成长之路 使用Linux写python脚本的时候,初期最痛苦的是什么?当然是各种库的不熟悉,知道了库,里面的方法还要挨个看,挨个记. 所以这时候,很多小伙伴使用了ipython,最强大的功能 ...

  4. 请通过vim练习:vim vimtutor

    vim vimtutor ================================================================================ W e l ...

  5. 玩转VIM之将Vim全副武装

    玩转VIM之将Vim全副武装 懒癌末期的我貌似很久没有写博客了,已经欠了多少篇在计划中的博客我已然不好意思说了.好了,言归正传,在前三篇介绍了Vim作为代码编辑器之后可能会有人说,要学习那么多指令真的 ...

  6. linux 下vi与vim区别以及vim的使用

    vi与vim vi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器.他是我们使用Linux系统不能缺少的工具.由于对 ...

  7. linux下vi与vim区别以及vim的使用-------vim编辑时脚本高光显示语法

    vi与vimvi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器.他是我们使用Linux系统不能缺少的工具.由于对U ...

  8. Cygwin下安装vim后,vim中退格键无法正常使用

    问题描述: 在Cygwin中安装完vim后 进入vim,发现上下左右键和退格键都无法正常使用 问题分析: 首先考虑到的就是缺少vim的配置文件,首先查看/etc路径下是否有vim的配置文件 admin ...

  9. VIM使用(一) VIM插件管理利器-vundle

    有关VIM的文件网上一大堆,这里只是记录一下我新配置环境的步骤.以备查看参考. sudo apt-get install gitgit clone https://github.com/gmarik/ ...

随机推荐

  1. Uninstall office15 click-to-run extensibility Component

    Summary : Uninstall office15 click-to-run extensibility Component,How to resolve Uninstall office15 ...

  2. iOS:Swift界面实例1, 简单界面

    Apple推出了基于Objective-C的新语言Swift. 通过实例, 我们可以很好的感受这门新语言 注意事项: 在XCode6_Beta中, 如果有中文, IDE的自动补全功能就会失效, 所以开 ...

  3. MAC Python环境配置以及安装Pycharm 5.4.0

    安装XCODE 去APP STORE下载,然后安装.免费 终端执行 xcode-select --install 安装或更新命令行开发工具 安装Pycharm 下载软件 官网:https://www. ...

  4. [BZOJ 1559] [JSOI2009] 密码 【AC自动机DP】

    题目链接:BZOJ - 1559 题目分析 将给定的串建成AC自动机,然后在AC自动机上状压DP. 转移边就是Father -> Son 或 Now -> Fail. f[i][j][k] ...

  5. Initializing Spring root WebApplicationContext

    最近 我部署ssh项目的时候经常出现这样的问题,我的解决办法是 log4j:WARN No appenders could be found for logger (org.springframewo ...

  6. SysErrorMessage 函数和系统错误信息表

    在看 API 文档时, 我们经常见到 GetLastError; 它可以返回操作后系统给的提示.但 GetLastError 返回的只是一个信息代码, 如何返回对应的具体信息呢?FormatMessa ...

  7. linux下mysql的安装

    一.下载 http://dev.mysql.com/downloads/mysql/ 选择对应的版本,这里选择“Linux-Generic” 以64位系统为例,这里需要下载如下两个文件: MySQL- ...

  8. JVM参数配置大全

    前阵子遇到几个面试题都是关于对Java内存控制的,因此从网上找到这篇文章,希望自己对Java的内存分配有重新的认识 /usr/local/jdk/bin/java -Dresin.home=/usr/ ...

  9. 深入浅出Node.js (附录C) - Node编码规范

    C.1 根源 C.2 编码规范 C.2.1 空格与格式 C.2.2 命名规范 C.2.3 比较操作 C.2.4 字面量 C.2.5 作用域 C.2.6 数组与对象 C.2.7 异步 C.2.8 类与模 ...

  10. Import larger wordpress xml file

    The maximum size is controlled by two PHP settings: upload_max_filesize, and post_max_size. These ar ...