Vim 基本配置和经常使用的命令

Vim 基本配置和经常使用的命令

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

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]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117090.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Activity工作流:流程创建总结

    Activity工作流:流程创建总结Activiti工作流的应用示例1、新建流程模型模型管理-&gt;模型工作区点击“创建”后会立即跳转到“流程在线设计器”页面,请参考下一节2、在线流程设计器模型管理-&gt;模型工作区-&gt;编辑3、设置流程属性l名称:流程定义名称l描述信息:流程定义描述l流程标识:流程定义KEY,对应procDefKey,用来标识一个流程4、拖拽元素介…

    2022年5月23日
    31
  • PID控制原理详解(一)[通俗易懂]

    PID控制原理详解(一)[通俗易懂]PID的理解       关于理解PID控制算法最典型的一个例子就是一个漏水的水缸的问题。网上有很多讲解PID的帖子会讲到这个例子。这里我也把我自己对于PID的理解用这个例子阐述一遍。       有个漏水的水缸,而且漏水的速度还不是恒定的。然后我们还有个水桶,我们可以控制往水缸里面加水或者从水缸里面舀水出来。另外我们可以检测水平面。现在我们的目的就是要控制水平面稳定在我们想要的任何一个平面上…

    2022年5月20日
    40
  • QStringList用法总结

    QStringList用法总结QStringList继承自QList,提供了一个QString的List;同QList一样,QStringList也是隐式数据共享的,并且支持按索引访问及快速插入、删除元素的操作。所有QList支持的操作都可用于QStringList,同时QStringList在此基础上提供了一些便于操作QString的功能。1.QStringList的构造函数及析构函数构造函数:a.QSt

    2022年5月26日
    252
  • 流程引擎标准定义_开源流程引擎

    流程引擎标准定义_开源流程引擎1.1流程定义引擎功能说明管理员无需编程基础便能快捷地定义出符合本单位需求的各项工作流程,协同办公平台流程定义项目丰富,能够规范企业业务流程,发挥企业各种资源及系统的最大效能。流程定义主要包括流程的基本属性、节点定义、相关表单、审核常用语、流程归档。可自定义流程的使用范围,序号一级功能二级功能功能详细需求说明1. 

    2022年10月20日
    1
  • 打印机smtp服务器地址还未配置_打印机如何添加邮箱地址

    打印机smtp服务器地址还未配置_打印机如何添加邮箱地址打印机smtp服务器设置方法内容精选换一换设置日志级别。参见准备环境完成环境配置。以运行用户登录安装Toolkit组件的服务器。执行命令,设置日志级别、获取日志文件。adc–hostxx.xx.xx.xx:22118–log’SetLogLevel(0)[error]’adc–hostxx.xx.xx.xx:22118–log’SetLogLevel(1本节介绍如何基于迁…

    2022年10月7日
    2
  • pycharm 如何更新本地项目文件[通俗易懂]

    pycharm 如何更新本地项目文件[通俗易懂]本地更新项目文件后,pycharm不会自动更新导航栏的文件目录,运行程序时报错,找不到文件:解决办法1:解决办法2:

    2022年8月25日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号