Vim编辑器的使用和基本配置
三种模式
1 命令模式
插入 a i o A I O
定位 gg G :n nG ngg $ 0
删除 x nx dd ndd dG
复制和剪切 yy-p dd-p
替换 r R
撤销和恢复 u Ctrl+r
搜索和替换 /关键词 n :范围/old/new/g 2 插入模式
3 编辑模式
:set nu
:wq ZZ :wq!
:q :q!
:w file_name
一些技巧 配置文件:~/.vimrc
1 导入命令的执行结果 :r !command
:r filename 导入文件内容
:!command 不退出的情况下使用系统命令
:r !命令 eg. :r !date 2 定义快捷键 (编辑模式设置只是临时生效,要永久生效需要写入配置文件[不用前面的':'])
命令模式下的快捷键: :map 快捷键 触发命令 注意 ^是Ctrl+V, 不是Shift+6, 也可以用<C+p>
范例 :map ^P I#<ESC> 行首加#注释
:map ^B 0x 删除行首的#
:map ^H 0
:map ^L $
插入模式下的快捷键: imap 快捷键 命令
:imap ^H <Left> //这样可以不用方向键移动光标了
:imap ^L <Right>
:imap ^B <Backspace>
:imap ^D <Delete> 3 连续行注释
:n1,n2s/^/#/g
:n1,n2s/^#//g
:n1,n2s/^/\/\//g
正则表达式: ^行首 $行尾 4 替换
:ab mymail xxx@mail.com
当插入mymail时会自动变成后者 以上只有写入配置文件才能永久生效
配置文件为 用户的家目录下的 .vimrc 进入家目录 cd 或 cd ~
个人配置文件 ~/.vimrc
"Basic
set nu
set autoindent
set mouse=a
set backspace=
set smartindent "Scheme color
set tabstop=
syntax enable
set t_Co=
set background=dark
colorscheme molokai " 设置vim背景透明,还要先设置终端背景透明度(直接在终端配置文件里设置即可)
hi Normal ctermfg= ctermbg=none "快捷键映射
"map -- 命令模式, imap -- 插入模式
" ^H <= ctrl+v h <CR> == Enter
autocmd bufenter * if (winnr("$") == && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
"
map <F3> :NERDTreeToggle<CR>
map <F5> :w<Enter>
map I#<ESC>
map 0x<ESC>
map <Tab> I<Tab><Esc>
map <C-\> I<Backspace><Esc>
map ^H
map ^L $
map <C-up> ddkkp
map <C-down> ddp
map <C-S-down> yyp
map <C-S-up> ddk map <CR> A<CR><Esc> map <C-F5> :!python3 % <CR> 在py文件中直接 Ctrl+F5 运行该文件 "插入模式下 不用方向键 快速移动光标,退格,删除
imap <C-h> <Left>
imap <C-l> <Right>
imap <C-k> <Up>
imap <C-j> <Down>
imap <C-b> <Backspace>
imap <C-d> <Delete>
imap <F5> <ESC>:w<Enter>
imap () ()<Left>
imap [] []<Left>
imap {} {}<Left>
imap <> <><Left>
imap '' ''<Left>
imap "" ""<Left>
"插件管理工具
"Vundle for plugin
set nocompatible
filetype off set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'VundleVim/Vundle.vim' "可以在这是添加要安装的插件
Plugin 'Valloric/YouCompleteMe' "Plugin 'SirVer/ultisnips'
"Plugin 'honza/vim-snippets' Plugin 'scrooloose/nerdtree' Plugin 'kien/ctrlp.vim' Plugin 'tomasr/molokai' Plugin 'rkulla/pydiction' Plugin 'pangloss/vim-javascript' Plugin 'Shougo/neocomplcache.vim' Plugin 'moll/vim-node'
Plugin 'myhere/vim-nodejs-complete' Plugin 'mattn/emmet-vim' call vundle#end()
filetype plugin indent on "Python pydiction -- Tab-complete
filetype plugin on
let g:pydiction_location = '/home/sqd/.vim/bundle/pydiction/complete-dict'
let g:pydiction_menu_height = "Node.js vim-node
autocmd User Node if &filetype == "javascript" | setlocal expandtab | endif autocmd FileType css set omnifunc=csscomplete#CompleteCSS
autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
效果图

Vim编辑器的使用和基本配置的更多相关文章
- 【Linux 操作系统】vim编辑器配置及常用命令
最近工作不安分, 没有了刚入行时候的锐气, 不知道什么时候开始懈怠起来, 周末在电脑旁边看新闻, 搞笑图片, 追美剧, 一坐就是一天, 很是空虚. 我需要摆脱这种状态, 正好想学习一下安卓底层, An ...
- 第6天【egrep、bash环境配置及脚本、vim编辑器】
bash环境配置及脚本(02)_recv bash环境配置及脚本(02)_recv bash环境配置文件: 按生效范围划分,存在两类: 全局配置: /etc/profile /etc/bashrc 个 ...
- 安卓程序代写 网上程序代写[原]vim编辑器配置及常用命令
最近工作不安分, 没有了刚入行时候的锐气, 不知道什么时候开始懈怠起来, 周末在电脑旁边看新闻, 搞笑图片, 追美剧, 一坐就是一天, 很是空虚. 我需要摆脱这种状态, 正好想学习一下安卓底层, An ...
- vim编辑器配置及常用命令
最近工作不安分, 没有了刚入行时候的锐气, 不知道什么时候开始懈怠起来, 周末在电脑旁边看新闻, 搞笑图片, 追美剧, 一坐就是一天, 很是空虚. 我需要摆脱这种状态, 正好想学习一下安卓底层, An ...
- vim编辑器常规配置
为了很舒服的编写程序,请把vim配置好 # apt install vim 安装vim编辑器 #sudo vim /etc/vim/vimrc ///必须加上权限sudo 在这个文件中,会有 ...
- Ubuntu 18.04中的Vim编辑器的高级配置
VIM (Unix及类Unix系统文本编辑器) Vim是一个类似于Vi的著名的功能强大.高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性.VIM是开源软件. Vim普遍被推崇为类Vi编辑器中 ...
- Linux学习Day5:Vim编辑器、配置网卡、配置Yum软件仓库
今天首先学习Vim编辑器的使用,通过它可以对Linux系统的文件进行编写和修改.在Linux系统中一切都是文件,所以熟练掌握Vim编辑器的使用十分重要.最后通过配置主机网卡的实验,来加深Vim编辑器中 ...
- CentOS7 配置阿里云yum源,vim编辑器,tab自动补全
1.进入yum的文件夹 命令:cd /etc/yum.repos.d/ 2.下载wget 命令:yum -y install wget 3.删除yum文件夹所有yum源 命令:rm -rf ...
- 03. 树莓派初始配置——安装vim编辑器
安装vim编辑器 树莓派系统默认是不带vim编辑器的,默认安装的vi编辑器在编辑文档的时候用得特别不舒服,对人体的血压和树莓派的寿命影响较大. 解决办法:一行命令 1. 安装vim编辑器 sudo a ...
随机推荐
- Java 基于log4j的日志工具类
对log4j日志类进行了简单封装,使用该封装类的优势在于以下两点: 1.不必在每个类中去创建对象,直接类名 + 方法即可 2.可以很方便的打印出堆栈信息 package com.tradeplatfo ...
- 移动前端不得不了解的HTML5 head 头标签(中上篇)
Meta 标签 meta标签是HTML中head头部的一个辅助性标签,它位于HTML文档头部的 <head> 和 <title> 标记之间,它提供用户不可见的信息.虽然这部分信 ...
- Alyona and mex
Alyona and mex time limit per test 2 seconds memory limit per test 256 megabytes input standard inpu ...
- 用yum安装JDK(CentOS)
1.查看yum库中都有哪些jdk版本 [root@localhost ~]# yum search java|grep jdk 2.选择版本,进行安装 [root@localhost ~]# yum ...
- [PHP] 安装和配置
Apachehttpd-2.2.19-win64mysql5.6Phphttp://www.php.net/downloads.php 5.4Phpeclipsehttp://www.phpeclip ...
- PHP signal 信号
最早写php时,发现在终端执行一个php文件,会一直等待程序执行完成以后,终端才能继续下面的操作,若不小心按了下Ctrl+C会导致php程序退出,闭避免这种情况发生,将会使用php的系统编程,即sig ...
- ios xcode中所有自带的字体如下(最好结合NSMutableAttributedString相结合使用)
// 打印系统中所有字体的类型名字 NSArray *familyNames = [UIFont familyNames]; for(NSString *familyName in familyNam ...
- android:layout_weight属性的使用方法总结
原创文章,转载请注明出处http://www.cnblogs.com/baipengzhan/p/6282826.html android:layout_weight属性可以和其他属性配合使用,产生多 ...
- JAVA序列化与反序列化三种格式存取(默认格式、XML格式、JSON格式)
什么是序列化 java中的序列化(serialization)机制能够将一个实例对象的状态信息写入到一个字节流中,使其可以通过socket进行传输.或者持久化存储到数据库或文件系统中:然后在需要的时候 ...
- greatest common divisor
One efficient way to compute the GCD of two numbers is to use Euclid's algorithm, which states the f ...