vim 优势和应用场景

vim 的优点纯文字编辑和
Linux 完美的融合提供了命令行。只能假设 ssh 至server进行操作,那么这样的情况就仅仅能使用 vim 了。vim 也是最为强大的通用文本编辑器之中的一个,对于须要编辑不同文本的情景,vim 也是相当有优势的。所以,熟练掌握一下 vim 的基本使用还是非常有必要的。

vim 是在 vi 基础上加非常多新特征发展而来。gvim 则给 vim 加上了图形前端。假设在 Windows 下使用 vim,能够直接安装最新的 gvim。

这里给出一个主要的 vimrc 配置文件。没有配置不论什么插件,仅仅是把主题改成了自带 evening 暗调主题。字体改成了 Consolas 等宽字体。并对行号。缩进,搜索等做了一些基本设置。并且把做了键映射 <ESC> -> ii,i 本来是切换到插入模式,高速双击i, 则又切换回到 normal 模式很顺手。

  • Linux 中一般在用户 home 文件夹建一个 .vimrc 文件进行改动。而不是去改动 /etc/vim 文件夹下的全局配置,影响全部用户。

  • Windows 中 vimrc 位于 C:\Program Files (x86)\Vim 文件夹下。名字是 _vimrc, 假设按装了 everything ,则直接搜索 vimrc 一步就可定位。

vim 的配置文件 vimrc

"-----------------------------------------------------------------------------------
:imap ii <Esc> " 按键映射 <ESC> -> ii "外观
colorscheme evening " 配置颜色主题
set guifont=Consolas:h12 " 设置字体和大小
set number " 显示行号
set guioptions-=T " 隐藏工具栏
set ruler " 打开状态栏标尺
set cursorline " 突出显示当前行
set syntax=on " 语法高亮
set showmatch " 高亮显示匹配的括号
set matchtime=3 " 匹配括号高亮的时间(单位:0.1s)
set scrolloff=10 " 光标到屏幕底端保留 10 行 (光标位于屏底看着非常不舒服的)
set lines=35 columns=118 " 启动时的大小
:winpos 177 51 " 启动时的位置 "搜索
set ignorecase smartcase " 搜索忽略大写和小写,但有大写字母时仍保持大写和小写敏感
set hlsearch " 高亮搜索
set incsearch " 增量式搜索,逐字符高亮 "操作
set clipboard+=unnamed " 共享剪切板
set showcmd " 输入的命令显示出来
set iskeyword+=_,$,@,%,#,- " 带有例如以下符号的单词不要被换行切割
set noexpandtab " 不用空格取代Tab (makefile是会经经常使用Tab的)
set tabstop=4 " Tab 键的宽度
set shiftwidth=4 " 行交错宽度
set mouse=a " 鼠标可用
set autoindent " 继承前一行的缩进方式。特别适用于多行凝视 "备份
set confirm " 未保存或者仅仅读时,弹出确认
set nobackup " 不生成备份文件
setlocal noswapfile " 不生成 swap 文件
set bufhidden=hide " 当 buffer 被丢弃的时候隐藏
set noerrorbells " 不发出警告声 "解码
set fenc=utf-8
set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936

vim 的经常使用命令

# 效率
. # 反复近期的文本操作 # 文件
:q # 退出 q->quit
:w # 保存 w->write
:q! # 强制退出不保存
:wq # 保存后退出
ZZ # 保存后退出,同 :wq # 光标移动
hjkl # 最主要的左下上右。移动一个字符
zz # 光标做在行移动到屏幕中间
w # 向前移动一个单词。光标停在单词首部
b # 向后移动一个单词, 光标停在单词首部
e # 同 w, 光标停在单词尾部
ge # 同 b, 光标停在单词尾部
0 # 本行第一个字符 (同 <HOME> 键)
^ # 本行第一个非空白字符
$ # 移动到行尾 (同 <END> 键)
gg # 移动到文件头
G # 移动到文件尾
:n # 跳转到第 n 行
fx # 移动到光标后第一个为 x 的字符 find
Fx # 同 f,反向移
Ctrl+d # 向下滚动半屏
Ctrl+u # 向上滚动半屏
Ctrl+f # 向下滚动半屏
Ctrl+b # 向上滚动半屏
% # 跳转到配对的括号 (经常使用)
( # 移动到当前句子開始
) # 移动到下一句子開始
H # 移动页面顶部 H->High
M # 移动页面中部 M->Middle
L # 移动页面底部 L->Low # 查找
/test # 查找 text ,(记得用正則表達式), 然后 n 向下。 N 向上 n->next
?test # 查找 text 。反向
* # 向下查找和光标所在单词一样的词
# # 向上查找和光标所在单词一样的词
:nohlsearch # 关闭当前高亮显示的结果 (输入 :noh 按下 <Tab> 键 就可以自己主动补全) # 替换
ra # 当前字符替换为 a , r->replace
:%s/old/new/g # 替换全文的全部的匹配 g->global
:%s/old/new/ # 替换全部行第一个匹配
:s/old/new/g # 替换当前行全部匹配
:s/old/new/ # 替换当前行第一个匹配 # 插入
a # 在当前位置后插入 a->append
A # 在当前行尾插入
i # 在当前位置插入 i->insert
I # 在当前行首插入
o # 在当前行之后插之中的一个行
O # 在当前行之前插入一行
s # 删除光标所在字符,并进入插入模式
S # 删除光标所在的行,并进入插入模式 # 选中
v # 从光标当前位置開始,光标所经过的地方会被选中,再按一下 v 结束 (相似 <shift>+方向建) v->view 可视模式
V # 从光标当前行開始,光标经过的行都会被选中,再按一下 V 结束 # 删除
d # 删除选中 (删除内容到了缓冲区能够被粘贴,相当于剪切) d->delete
x # 删除当前字符
3x # 删除当前光标向后三个字符 (vim 经经常使用 <数字>+<命令> 组合)
dd # 删除当前行
dw # 删除光标所在字符至下个单词开头 dw -> delete word
d$ # 删除当前字符到行尾 %->正则中就是行尾
3d # 删除当前行開始三行
J # 合并两行 (即删除当行尾换行符) J->join # 撤销
u # 撤销 u->undo
U # 撤销对正行的操作
Ctrl+r # 恢复撤销 # 复制粘贴
y # 复制选中
yy # 复制当前行
p # 在当前光标后粘贴。假设复制了一行则粘贴到下一行 p-paste
P # 在当前光标前粘贴
ddp # 交换当前行和下一行 (巧妙运用了剪切粘贴)
xp # 交换当前字符和下一个

版权声明:本文博主原创文章,博客,未经同意不得转载。

[http://blog.csdn.net/thisinnocence]

Vim 基本配置和经常使用的命令的更多相关文章

  1. 为了让vi命令也可以使用vim的配置,需要修改 vi /etc/bashrc 增加一行 alias vi='vim'此时,经过上面配置已经可以显示语法高亮了

    为了让vi命令也可以使用vim的配置,需要修改 vi /etc/bashrc 增加一行 aliasvi='vim'此时,经过上面配置已经可以显示语法高亮了

  2. vim+vundle配置

    Linux环境下写代码虽然没有IDE,但通过给vim配置几个插件也足够好用.一般常用的插件主要包括几类,查找文件,查找符号的定义或者声明(函数,变量等)以及自动补全功能.一般流程都是下载需要的工具,然 ...

  3. [转] vim自定义配置 和 在ubnetu中安装vim

    Ubuntu 12.04安装vim和配置   问题: ubuntu默认没有安装vim,出现: jyg@ubuntu:~$ vim test.cThe program 'vim' can be foun ...

  4. 10秒钟安装 Vim编辑器,5分钟浏览常用命令 2015.10.25

    首先我想说,vim与vi的命令几乎相同,,所以学习编辑命令时很轻松,排除扩展相关,以及自动补全等配置的使用在外30秒钟安装 Vim编辑器,5分钟浏览常用命令环境:虚拟机Ubuntu:安装vim并浏览命 ...

  5. linux环境下Vim的配置

    原文链接:http://blog.chinaunix.net/uid-26826958-id-3272375.html  (本文转自此链接中的部分内容,但做了适当修改) 安装vim命令:sudo ap ...

  6. macOS中Vim基本配置,颜色主题/语法/indent设置

    macOS中Vim基本配置 Vim的初始化配置 .vimrc 存放位置 macOS 环境下 vim 的初始化配置文件为 .vimrc , 通常有两个(系统版本和用户版本),一个位于 /usr/shar ...

  7. 【vim环境配置】详细实录

    [写在前面] 以下的所有内容主要参照: https://github.com/yangyangwithgnu/use_vim_as_ide . 原blog作者写的非常用心,建议大家都去看看.(个人觉得 ...

  8. Linux - vim安装 配置与使用

    一 Vim 简单介绍 曾经一直用vi,近期開始使用 vim,以下将两者做一下比較. vi和vim都是word=%E5%A4%9A%E6%A8%A1&fr=qb_search_exp&i ...

  9. vim 基础配置

    最近在使用 python 搞服务, 简单配置了一个 vim, 配置了自动补全以及背景色 .(ps:搜狗输入法快捷键占用真是太坑爹,改用谷歌输入法,世界安静了) 具体配置如下: 一. 安装插件 1.克隆 ...

随机推荐

  1. deinstall oracle 11g on linux

    deinstall oracle 11g on linux   From 11gR2, oracle provide us an deinstall tool. With that now we ca ...

  2. thinkphp框架的相关总结

    参考链接地址:http://gongwen.sinaapp.com/article-205.html 1. 模板中不能使用的标签 {$content} {$i} 2. If标签 如: <if c ...

  3. SWT中各种参数大全

    1按钮组件(Button) (1)Button组件常用样式 SWT.PUSH按钮 SWT.CHECK多选按钮 SWT.RADIO单选按钮 SWT.ARROW箭头按钮 SWT.NONE默认按钮 SWT. ...

  4. CentOS 网络设置修改

    环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G) 系统版本:Centos-6.5-x86_64 路由器网关:192.168.1.1 步骤: 1.查看网络MAC地址 [ro ...

  5. 关于多线程的一个例子(UI实时显示)

    在开发Window应用程序的时候,经常需要在界面上显示出已经执行到什么步骤了,拿一个简单例子来说,创建一个Winform程序,在窗体上访一个Button和一个Label,点击Button时做100次循 ...

  6. Node.js v0.10.31API手冊-控制台

    Node.js v0.10.31API手冊-文件夹 控制台 Object 用于向 stdout 和 stderr 打印字符.类似于大部分 Web 浏览器提供的 console 对象函数,在这里则是输出 ...

  7. [WPF]不规则窗体的实现

    Microsoft Expression Design 4 导入做好的login.Png图片 调整美工板大小 导出,右边格式为XAML WPF 资源字典,实时效果为XAML效果 文件名login.xa ...

  8. Windows Phone开发(46):与Socket有个约会

    原文:Windows Phone开发(46):与Socket有个约会 不知道大家有没有"谈Socket色变"的经历?就像我一位朋友所说的,Socket这家伙啊,不得已而用之.哈,S ...

  9. HDU ACM 1071 The area 定积分计算

    分析: 1.求抛物线方程F(x)=a*x^2+b*x+c: 2.求直线方程f(x)=k*x+b. 3.利用定积分计算F(x)-f(x)在x2到x3之间的面积. #include<iostream ...

  10. Left Menu抽屉效果ScrollView姿态共存冲突

    我们有一个小项目,需要做主页ScrollView嵌套TableView. 再就是Left与Right抽屉效果. 课前有眼似的,然后完成忘. 非常糟糕的记忆.真应了那句话:好记性不如烂博客. 由于我首页 ...