三种模式

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编辑器的使用和基本配置的更多相关文章

  1. 【Linux 操作系统】vim编辑器配置及常用命令

    最近工作不安分, 没有了刚入行时候的锐气, 不知道什么时候开始懈怠起来, 周末在电脑旁边看新闻, 搞笑图片, 追美剧, 一坐就是一天, 很是空虚. 我需要摆脱这种状态, 正好想学习一下安卓底层, An ...

  2. 第6天【egrep、bash环境配置及脚本、vim编辑器】

    bash环境配置及脚本(02)_recv bash环境配置及脚本(02)_recv bash环境配置文件: 按生效范围划分,存在两类: 全局配置: /etc/profile /etc/bashrc 个 ...

  3. 安卓程序代写 网上程序代写[原]vim编辑器配置及常用命令

    最近工作不安分, 没有了刚入行时候的锐气, 不知道什么时候开始懈怠起来, 周末在电脑旁边看新闻, 搞笑图片, 追美剧, 一坐就是一天, 很是空虚. 我需要摆脱这种状态, 正好想学习一下安卓底层, An ...

  4. vim编辑器配置及常用命令

    最近工作不安分, 没有了刚入行时候的锐气, 不知道什么时候开始懈怠起来, 周末在电脑旁边看新闻, 搞笑图片, 追美剧, 一坐就是一天, 很是空虚. 我需要摆脱这种状态, 正好想学习一下安卓底层, An ...

  5. vim编辑器常规配置

    为了很舒服的编写程序,请把vim配置好 # apt install vim    安装vim编辑器 #sudo vim /etc/vim/vimrc   ///必须加上权限sudo 在这个文件中,会有 ...

  6. Ubuntu 18.04中的Vim编辑器的高级配置

    VIM (Unix及类Unix系统文本编辑器) Vim是一个类似于Vi的著名的功能强大.高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性.VIM是开源软件. Vim普遍被推崇为类Vi编辑器中 ...

  7. Linux学习Day5:Vim编辑器、配置网卡、配置Yum软件仓库

    今天首先学习Vim编辑器的使用,通过它可以对Linux系统的文件进行编写和修改.在Linux系统中一切都是文件,所以熟练掌握Vim编辑器的使用十分重要.最后通过配置主机网卡的实验,来加深Vim编辑器中 ...

  8. CentOS7 配置阿里云yum源,vim编辑器,tab自动补全

    1.进入yum的文件夹 命令:cd   /etc/yum.repos.d/ 2.下载wget 命令:yum -y install wget 3.删除yum文件夹所有yum源 命令:rm -rf    ...

  9. 03. 树莓派初始配置——安装vim编辑器

    安装vim编辑器 树莓派系统默认是不带vim编辑器的,默认安装的vi编辑器在编辑文档的时候用得特别不舒服,对人体的血压和树莓派的寿命影响较大. 解决办法:一行命令 1. 安装vim编辑器 sudo a ...

随机推荐

  1. erlang-string

    string:len("abcdef"). 结果为 6 求字符串的长度 string:equal("abc","abc"). 结果为 tru ...

  2. js控制日期选择框datetime-local和select的展开

    注: js控制元素展开不受元素css属性的限制,例如opacity,z-index等 1. 使用js控制日期选择框的展开 ios: document.querySelector(".targ ...

  3. wcf中的使用全双工通信

    wcf中的契约通信默认是请求恢复的方式,当客户端发出请求后,一直到服务端回复时,才可以继续执行下面的代码. 除了使用请求应答方式的通信外,还可以使用全双工.下面给出例子: 1.添加一个wcf类库 2. ...

  4. C#中几种数据库的大数据批量插入

    C#语言中对SqlServer.Oracle.SQLite和MySql中的数据批量插入是支持的,不过Oracle需要使用Orace.DataAccess驱动. IProvider里有一个用于实现批量插 ...

  5. mongoDB7--游标cursor

    之前我们学习了"增删改查"四中语法和查询表达式的深入学习,我们已经掌握了一定的操作mongodb数据的能力,那么接下来我们就要考虑我们的操作的效率问题了.(1)游标介绍如果我们查询 ...

  6. CGridCtrl在MFC中的使用(一)

    CGridCtrl控件是开源的,可在CodePlex和CodeProject上搜索找到,是VC++中用于显示表格数据的控件.基本功能包括:表格显示,单元格的编辑,单元格颜色设置,鼠标事件的响应,单元格 ...

  7. nmon 安装

    安装: mkdir /usr/local/nmon cd /usr/local/nmon wget http://sourceforge.net/projects/nmon/files/nmon_li ...

  8. 【第四篇】androidEventbus源代码阅读和分析

    1,分析androidEventbus的注册源代码: 我们在使用androidEventbus的第一步是注册eventbus,如下代码: EventBus.getDefault().register( ...

  9. ios UIApplocation 中APP启动方式

    iOS app启动的方式有哪些: 自己启动(用户手动点击启动) urlscheme启动(关于urlScheme的详解)http://www.cnblogs.com/sunfuyou/p/6183064 ...

  10. IOS把图片缓存到本地的几种方法

    把图片缓存到本地,在很多场景都会用到,如果是只储存文字信息,那建一个plist文件,或者数据库就能很方便的解决问题,但是如果存图片到沙盒就没那么方便了.这里介绍两种保存图片到沙盒的方法. 一.把图片转 ...