Vim 基本配置和常用命令

vim 的优势与应用场景

vim 的优势在于纯粹的编辑及
Linux 自带与命令行的完美集成。如果只能 ssh 到服务器进行操作,那么这种情况就只能使用 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 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        # 移动到文件尾
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 ,反向

# 替换
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        # 在当前行之前插入一行

# 选中
v        # 从光标当前位置开始,光标所经过的地方会被选中,再按一下 v 结束  (类似 <shift>+方向建) v->view 可视模式
V        # 从光标当前行开始,光标经过的行都会被选中,再按一下 V 结束 

# 删除
d        # 删除选中 (删除内容到了缓冲区可以被粘贴,相当于剪切) d->delete
x        # 删除当前字符
3x       # 删除当前光标向后三个字符 (vim 经常用 <数字>+<命令> 组合)
dd       # 删除当前行
d$       # 删除当前字符到行尾   %->正则中就是行尾
3d       # 删除当前行开始三行
J        # 合并两行 (即删除当行尾换行符) J->join

# 撤销
u        # 撤销  u->undo
U        # 撤销对正行的操作
Ctrl+r   # 恢复撤销

# 复制粘贴
y        # 复制选中
yy       # 复制当前行
p        # 在当前光标后粘贴,如果复制了一行则粘贴到下一行 p-paste
P        # 在当前光标前粘贴
ddp      # 交换当前行和下一行 (巧妙运用了剪切粘贴)
xp       # 交换当前字符和下一个
时间: 2024-10-12 11:58:34

Vim 基本配置和常用命令的相关文章

Cisco路由器配置的常用命令汇总

路由器是工作在OSI参考模型第三层--网络层的数据包转发设备.路由器通过转发数据包来实现网络互连.虽然路由器可以支持多种协议(如TCP/IP. IPX/SPX.AppleTalk等协议),但是在我国绝大多数路由器运行TCP/IP协议.路由器通常连接两个或多个由IP子网或点到点协议标识的逻辑端口,至少拥有1个物理端口.路由器根据收到数据包中的网络层地址以及路由器内部维护的路由表决定输出端口以及下一跳地址,并且重写链路层数据包头实现转发数据包.路由器通过动态维护路由表来反映当前的网络拓扑,并通过与网

Vim(Linux编辑器)简单配置和常用命令

一  简单配置 1 增加配置文件.vimrc 在目录/etc/下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效.而在每个用户 的主目录下,都可以建立私有的配置文件,命名为:".vimrc". 下面以普通用户为例: 在用户主目录下建立 .vimrc 文件 或直接下载高手写好的 移动到自己主目录下即可 下载vimrc.zip,解压后的文件为.vimrc,将其放到当前用户的目录下. 链接: http://files.cnblogs.com/ma6174/vim

Mac 學習系列之SVN环境配置及常用命令大全

Windows里面用SVN是比較方便和Easy的,mac下面的其實也一樣. mac下带有SVN因此只需要激活它–环境配置: svnadmin create $Path 用来下载一个svn程序即可 下载后就可以下载代码了. 以下是svn 常用命令大全: ??1.将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout http://xxxxxxxxxxxx 简写:svn co 2.往版本库中添加新的文件 svn add fil

git配置及常用命令

1.配置 1)在网上下载git软件.我的是Git-1.9.5-preview20150319.exe和TortoiseGit-1.8.14.0-64bit.msi. 安装完后,从开始菜单点击git bash 2)输入 ssh-keygen -C "[email protected]" -t rsa 来生成一对密钥,默认保存到~/.ssh目录. 3)输入git config --global user.email [email protected] git config --global

docker虚拟化安装配置与常用命令

一.Docker安装配置 docker只有在centos6.5以上机器才能使用yum直接安装,如果其他版本需要安装centos扩展源epel. docker官方文档说要求Linux kernel至少3.8以上,一般为centos6.5或者Ubuntu系统, 在Centos6.x系列安装docker软件,首先要关闭selinux,然后需要安装相应的epel源,如下: sed -i '/SELINUX/s/enforcing/disabled/g' /etc/selinux/config wget

nginx 配置以及常用命令

windows下安装以及配置nginx http://jingyan.baidu.com/article/f3e34a12a9c1c3f5eb6535d4.html 1)下载地址: http://nginx.org 2)启动 解压至c:\nginx,运行nginx.exe(即nginx -c conf\nginx.conf),默认使用80端口,日志见文件夹C:\nginx\logs 3)使用 http://localhost 4)关闭 nginx -s stop 或taskkill /F /IM

Git配置和常用命令

Git配置 git config --global user.name "hunng" git config --global user.email "[email protected]" git config --global color.ui true git config --global alias.co checkout git config --global alias.ci commit git config --global alias.st sta

Git的配置及常用命令

Git配置 git config --global user.name "<username>" git config --global user.email "<email>" git config --global color.ui true git config --global alias.co checkout git config --global alias.ci commit git config --global alias

北京快_三源码出售安装、配置、常用命令

在北京快_三源码出售 Q1446595067 应用部署到线上后,需要保证应用一直处于运行状态,在遇到程序异常.报错等情况,导致 web 应用终止时,需要保证程序可以立刻重启,继续提供服务. 所以,就需要一个工具,时刻监控 web 应用的运行情况,管理该进程. Supervisor 就是解决这种需求的工具,可以保证程序崩溃后,重新把程序启动起来等功能.简介 Supervisor 是一个用 Python 写的进程管理工具,可以很方便的用来在 UNIX-like 系统(不支持 Windows)下启动.