vi/vim命令大全

vim参阅

配置文件vimrc

在vim文件中执行:set nu是临时显示文件的行数,如果需要每个文件都生效,需要写入到vim的配置文件中

全局配置文件:/etc/vimrc

用户配置文件:~/.vimrc

如果没有vimrc文件,可以自己创建一个

不同的发行版,不同版本的vim,配置文件所在的路径也各不相同,可以使用vim --version命令查看

   system vimrc file: "/etc/vimrc"
user vimrc file: "$HOME/.vimrc"
2nd user vimrc file: "~/.vim/vimrc"

vim 状态栏

Vimscript 状态条

状态栏配置内容

hi user1 cterm=none ctermfg=darkblue ctermbg=NONE
hi user2 cterm=none ctermfg=darkmagenta ctermbg=NONE
hi user3 cterm=none ctermfg=darkgreen ctermbg=NONE
set statusline=%1*\%<%.15F\ -\ Encoding:\ %{&fenc}
set statusline+=%=%2*\Current:\ %l\ Total:\ %L\ %*
set statusline+=%3*\%3p%%
set laststatus=2

hi user1 设置颜色的样式,为了应用到set statusline的内容当中

状态栏常用信息

%< 如果状态行过长,在何处换行
%F 完整文件路径名
%.<num>F 文件路径名长度不超过,超过则保留最后的长度
%y 文件类型
%m 如果缓冲区已修改则表示为[+]
%r 如果缓冲区为只读则表示为[RO]
%h 如果缓冲区为帮助显示为[Help]
%w 如果为预览窗口则显示为[Preview]
%{&ff} 显示文件系统类型
%{&fenc} 显示文件编码
%l 光标所在行数
%L 文件总行数
%c 光标所在列数
%p 当前行数占总行数的的百分比

显示状态栏

set laststatus=0 不显示状态栏
set laststatus=1 只在多窗口时显示状态栏
set laststatus=2 总是显示状态栏

终端安全色

VIM支持的安全色很少,通过dark和light来表示暗色和亮色,可以通过配置set t_Co=256参数来开启256色

cterm 设置粗体,斜体,正体
ctermfg 前景色
ctermbg 背景色

Black 黑色
White 白色
Red, LightRed,DarkRed 红色
Green, LightGreen,DarkGreen 绿色
Blue, LightBlue,DarkBlue 蓝色
Yellow, LightYellow,DarkYellow 黄色
Gray,LightGray, DarkGray 灰色
Cyan, LightCyan,DarkCyan 青色
Magenta, LightMagenta,DarkMagenta 洋红色

vimrc 配置文件

注意一下自己的vim版本,我的vim版本是7.4的,不一定适用于其他版本

以下介绍到的,以个人习惯为主,方便自己后期使用,直接黏贴到vimrc文件,保存即可

在vimrc文件中,双引号表示注释,下面模板中,如果有自己需要用到的,可以去掉双引号,使配置生效

当然,可以把上面的状态栏一起加到配置文件里面去

syntax on                                                      " 开启语法高亮
hi cursorLine cterm=bold ctermbg=DarkGray ctermfg=NONE
set cursorline " 高亮显示当前行,引用上面定义的颜色样式
" hi cursorcolumn cterm=bold ctermbg=DarkGray ctermfg=NONE
" set cursorcolumn " 高亮显示当前列,引用上面定义的颜色样式
" set t_Co=256 " 开启256色
set nocompatible " 不与vi兼容
set showmode " 在底部显示当前处于什么模式
set encoding=utf-8 " 设置编码格式为utf-8
" set paste " 解决外部内容黏贴引起的缩进错行
" set number " 显示行数
set tabstop=2 " tab的宽度为2个空格
set expandtab " 以空格键来替换tab键
" set autoindent " 和上一行的缩进一致
" set wrap " 自动换行
" set linebreak " 遇到符号才自动换行
set incsearch " 总是从头开始搜索
" set list " 检测行尾是否有多余的空格和tab键
set wildmenu " 末行模式tab键补齐,以此tab选择后续指令
set wildmode=longest:list,full " tab补齐的模式
hi search cterm=none ctermbg=Darkblue ctermfg=NONE
set hlsearch " 高亮搜索关键字,引用上面定义的颜色样式

vim可以启用鼠标模式,然而用鼠标,为啥要用vim呢,所以,我果断没有启用

推荐

以下资料,是我写这篇博客的时候查看的,一些不错的参考,并且整体排版看着也很舒服

w3cschool-vim教程

Alex-vimrc

__倔强的贝吉塔-状态栏

Vim documentation: options

A Good Vimrc

vim配置vimrc详解

原来VIM还可以这样玩的更多相关文章

  1. 原来css中的border还可以这样玩

    原来css中的border还可以这样玩 前面的话: 在看这篇文章之前你可能会觉得border只是简单的绘制边框,看了这篇文章,我相信你也会跟我一样说一句"我靠,原来css中的border还可 ...

  2. css中的border还可以这样玩

    在看这篇文章之前你可能会觉得border只是简单的绘制边框,看了这篇文章,我相信你也会跟我一样说一句"我靠,原来css中的border还可以这样玩".这篇文章主要是很早以前看了别人 ...

  3. [UWP]UIElement.Clip虽然残废,但它还可以这样玩

    1. 复习一下WPF的UIElement.Clip 用了很久很久的WPF,但几乎没有主动用过它的Clip属性,我只记得它很灵活,可以裁剪出多种形状.在官方文档复习了一下,大致用法和效果如下: < ...

  4. 给表格设置border还可以这样玩

    <table width="100%" border="0" cellpadding="0" cellspacing="1& ...

  5. SQL SERVER 原来还可以这样玩 FOR XML PATH

    FOR XML PATH 有的人可能知道有的人可能不知道,其实它就是将查询结果集以XML形式展现,有了它我们可以简化我们的查询语句实现一些以前可能需要借助函数活存储过程来完成的工作.那么以一个实例为主 ...

  6. 重启Tomcat还可以这样玩的哦

  7. 学了java,我才发现台球还可以这样玩!

    桌球小游戏的尝试 桌球是人们日常生活中都能接触到的一种娱乐活动,随着互联网技术的发展,手机上也有了很多桌球小游戏,让人们随时随地都能打两把.   今天分享一个用java编写的桌球小游戏 代码如下:  ...

  8. 几个linux终端的有趣玩法

    1.sl 还可以给别人搞恶作剧: alias ls=sl 这样别人使用 ls 列出目录和文件的时候,却出现一个小火车,那滋味一定很酸爽哈哈哈哈! 2. fortune 这个命令会随机输出有趣的话,比如 ...

  9. vi/vim使用指北 ---- Learning the vi and Vim Editors 读书 笔记

    vi/vim作为liux系统下最强大,最流行的文本编辑器之一.边看<Learning the vi and vim Editor>边学习vim,顺便做写简单的笔记,供以后查询. 没看这本书 ...

随机推荐

  1. vue实现引用less,sass全局变量

    1.npm install sass-resources-loader --save-dev: 2.build/utils.js中,修改 function resolveResource(name) ...

  2. mongodb基础整理篇————常规操作[二]

    前言 简单整理一下常规操作. 正文 虽然一般说写代码看的是思想,但是呢,如果不知道mongodb 有哪些常用的操作,那么你怎么能知道mongodb是否符合你的需求,比如说如果聚合功能都没有,你得自己写 ...

  3. Python多环境管理神器(pyenv)

    前面我们已经介绍了,python中两种最基础的虚拟环境管理工具,venv和virtualenv,其中virtualenv可以和virtualenvwrapper配合使用.详情请参考:https://w ...

  4. kibana7.x安装配置操作elasticsearch

    什么是Kibana? Kibana是一个基于Node.js的Elasticsearch索引库数据统计工具,可以利用Elasticsearch的聚合功能,生成各种图表,如柱形图,线状图,饼图等. 而且还 ...

  5. XCTF(Web_php_unserialize)

    拿到题目,是个这, 我们来一波代码审计 1 <?php 2 class Demo { 3 private $file = 'index.php'; 4 public function __con ...

  6. 品味Spring Cache设计之美

    最近负责教育类产品的架构工作,两位研发同学建议:"团队封装的Redis客户端可否适配Spring Cache,这样加缓存就会方便多了" . 于是边查阅文档边实战,收获颇丰,写这篇文 ...

  7. “伏魔”赏金 | WebShell检测之「模拟污点引擎」首次公测,邀你来战!

    安全是一个动态的过程,攻防对抗如同在赛博世界里降妖伏魔,其要义是:取彼之长,补己之短.--伏魔引擎的诞生 伏魔引擎挑战赛 注册时间: 2022.01.10 00:00:00 - 2022.01.24 ...

  8. python中join()方法介绍

    描述 Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串. 语法 join()方法语法:str.join(sequence) 参数 sequence -- 要连接的元 ...

  9. 《剑指offer》面试题68 - I. 二叉搜索树的最近公共祖先

    问题描述 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先. 百度百科中最近公共祖先的定义为:"对于有根树 T 的两个结点 p.q,最近公共祖先表示为一个结点 x,满足 x 是 p ...

  10. leetcode 24. 两两交换链表中的节点 及 25. K 个一组翻转链表

    24. 两两交换链表中的节点 问题描述 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表. 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换. 示例: 给定 1->2-> ...