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 ...
随机推荐
- Table获取checkbox选中行数据
//检测勾选值 function checkEnter() { var Ivalue = ""; $("#dataTable tr").each(functio ...
- winform控件背景透明问题(label..等)
在使用winform写界面的时候,要想label这种控件实现对背景色透明,并且也懒得每次拖动一次控件都要在后台写一遍label1.Parent=PictureBox1 那么下面方法就介绍了比较简单便捷 ...
- MyBatis 基本数据类型条件判断问题
1.判断参数使用:_parameter <select id="findCount" parameterType="int" resultType=&qu ...
- Openlayer 3 的画图测量面积
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- mybatis结合redis实战二级缓存(六)
之前的文章中我们意见分析了一级缓存.二级缓存的相关源码和基本原理,今天我们来分享下了mybatis二级缓存和redis的结合,当然mybatis二级缓存也可以和ehcache.memcache.OSC ...
- C语言_数字排列顺序
#include <stdio.h> #include <stdlib.h> #define LENGTH 8 void main() { , , , , , , , }; ; ...
- Kubernetes 1.5.1 部署
> kubernetes 1.5.0 , 配置文档 # 1 初始化环境 ## 1.1 环境: | 节 点 | I P ||--------|-------------||n ...
- hdu_3294_Girls' research(Manacher)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3294 题意:给你一个字符和一个字符串,第一个字符表示该字符代表a,然后让你求变换后的最长回文区间并输出 ...
- SNMP学习之结构体snmp_secmod_def
此结构体中定义了各个回调函数,在函数init_ksm(E:\code\net-snmp-5.4.2.1\snmplib)中进行了初始化. void init_ksm(void) { struct sn ...
- git的理念
一个很好的git教程:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 1 集中式 ...