Vim【学习笔记】
【2017-02-04】
先放几个比较好的资料,看这些资料就好了:
1.Vim入门基础 http://www.jianshu.com/p/bcbe916f97e1
2.vim配置 http://blog.csdn.net/g_brightboy/article/details/14229139
3.简明Vim练级攻略 http://coolshell.cn/articles/5426.html
4.http://blog.csdn.net/mu_zhou233/article/details/53045831
【update:2017-02-18】学会了替换,注意[需要转义
吐槽:在Mac OS上安装Vim好麻烦啊.........,并且mvim不支持shift选择了呜呜并且ctrl和command建都不知道按哪个,还是gvim好
我的配置文件
" Candy? MacOS set number
set ruler
set tabstop=
set shiftwidth=
set autoindent
set smartindent
filetype on
syntax on
colorscheme solarized
set showmatch
set guifont=Monaco:h20
set mouse=a
set selection=exclusive
set selectmode=mouse,key
nnoremap <F7> <Esc>:w<CR>:!g++ % -Wall -o
nnoremap <F8> <Esc>:!./
nnoremap <F9> <Esc>:w<CR>:!g++ % -Wall -o a<CR>
nnoremap <F10> <Esc>:!./a<CR>
" Candy? Windows set number
set ruler
set tabstop=
set shiftwidth=
set autoindent
set smartindent
filetype on
syntax on
colorscheme solarized
set showmatch
set guifont=monaco:h16
set mouse=a
set selection=exclusive
set selectmode=mouse,key
nnoremap <F7> <Esc>:w<CR>:!g++ % -Wall -o
nnoremap <F8> <Esc>:!
nnoremap <F9> <Esc>:w<CR>:!g++ % -Wall -o a<CR>
nnoremap <F10> <Esc>:!a<CR>
set nohlsearch
后几个是为了方便编译(然而并不如直接在终端编译)
字体 Mac上用Monaco 20号(Monaco字体太漂亮了太可爱了),Windows上用16号
机房电脑的环境变量Path设置:
C:\Program Files (x86)\Vim\vim80;C:\Program Files (x86)\Dev-Cpp\MinGW64\bin;
命令概览:
命令前加数字N可以重复命令(通常是接下来N行/N个字符进行命令)
通常小写字母与下有关,大写字母与上有关
[附录]一些命令:
k 上移;
j 下移;
h 左移;
l 右移。gg 将光标定位到文件第一行起始位置;G 将光标定位到文件最后一行起始位置;0 数字0,左移光标到本行的开始;$ 右移光标,到本行的末尾;^ 移动光标,到本行的第一个非空字符。fc
Fc
<C+u>
<C+d>Ctrl+e 往后滚动一行
Ctrl+y 往前滚动一行 //windows不行?
* 当光标停留在一个单词上,* 键会在文件内搜索该单词,并跳转到下一处;/str1 正向搜索字符串 str1;
n 继续搜索,找出 str1 字符串下次出现的位置;
N 继续搜索,找出 str1 字符串上一次出现的位置;
?str2 反向搜索字符串 str2 。
x 删除光标所指向的当前字符;
nx 删除光标所指向的前 n 个字符;
dd 删除光标所在行,并去除空隙;
ndd 删除(剪切) n 行内容,并去除空隙;d$ 从当前光标起删除字符直到行的结束;
d0 从当前光标起删除字符直到行的开始;dt"→ 删除所有的内容,直到遇到双引号——"
d和y都可以当成两边加上范围用....(默认第一个范围是当前位置)
p 小写字母 p,将缓冲区的内容粘贴到光标的后面;
P 大写字母 P,将缓冲区的内容粘贴到光标的前面。yy 复制当前行到内存缓冲区;
nyy 复制 n 行内容到内存缓冲区;“+y 复制 1 行到操作系统的粘贴板;
“+nyy 复制 n 行到操作系统的粘贴板。
u 撤消前一条命令的结果;
<C+r> 恢复命令
. 重复最后一条修改正文的命令。
i 在光标左侧插入正文
a 在光标右侧插入正文
o 在光标所在行的下一行增添新行
O 在光标所在行的上一行增添新行
I 在光标所在行的开头插入
A 在光标所在行的末尾插入
:n 将光标移到第 n 行
正则表达式 替换:
:s/str1/str2/ 用字符串 str2 替换当前行中首次出现的字符串 str1
:s/str1/str2/g 用字符串 str2 替换当前行中所有出现的字符串 str1
:%s 所有行
:.,$ s/str1/str2/g 用字符串 str2 替换当前行到末尾所有出现的字符串 str1
:1,$ s/str1/str2/g 用字符串 str2 替换正文中所有出现的字符串 str1
:m,ns/str1/str2/g 将从m行到n行的str1替换成str2
:split(可用缩写 :sp) 上下分屏;
:vsplit(可用缩写 :vsp) 左右分屏。
<C+w+w> 切换
:res 大小 :tabnew 新标签
gt gT 标签切换
<< >> 缩进
可视 块
<C+v> <C+q>
Vim【学习笔记】的更多相关文章
- vim 学习笔记系列(前言)
今天上午的时候,看到大神在用vim编程,画面直观,速度很快,操作只需要用命令符就可以实施. 所以可以推断vim的命令符是复杂的,那么学习过程中记忆会很漫长,很痛苦,但是如果记住了这些命令符,并可以熟练 ...
- vim学习笔记(一)—— vim安装方法
一.完全卸载vim的方法 sudo apt-get remove --purge vim (--purge 是完全删除,会连配置文件一起删除) 二.Vim前言——————“世界上只有三种编辑器,EMA ...
- VIM学习笔记
参考: http://linux.chinaunix.net/techdoc/beginner/2009/12/20/1150108.shtml VIM命令大全 光标控制命令 命令 ...
- vim 学习笔记
vim介绍:一款编辑器,另外一般linux系统会自带,所以一般linux下日志.配置文件等 纯文本文件的修改编辑等通过vim操作 学会的好处:1 方便操作linux下日志.配置文件等纯文本文件 2 功 ...
- [Vim]vim学习笔记--多个文件打开,切换,关闭
一种情况是在shell中用vim打开多个文件,另一种是在vim编辑器中打开多个文件 同时打开多个文件 vim file1 file2 打开文件并水平窗口显示 vim -o file1 file2 打 ...
- vim学习笔记(12):在vim中修改文件编码,解决vim 打开乱码
在linux 中查看文件编码可以通过以下几种方式: 一.查看文件编码 1.查看文件编码file命令 :file ip.txt ip.txt: UTF-8 Unicode text, with esca ...
- vim学习笔记(11):vim 去掉<200b>
vim查看文件,发现多了<200b>字符,使用/200b搜索匹配不上:grep 200b 也匹配不上 查询后才知道:200b是:Unicode Character 'ZERO WIDTH ...
- vim学习笔记(10):vim命令大全
进入vim的命令: vim filename :打开或新建文件,并将光标置于第一行首 vim +n filename :打开文件,并将光标置于第n行首 vim + filename :打开文件,并将光 ...
- vim学习笔记(9):vim显示文件名
如何让vim在编辑模式下显示文件名 在根目录下:~/.vimrc 中追加一行: set laststatus=2 shell 下执行命令: echo "set laststatus=2&qu ...
- vim学习笔记(2)——vim配置
记录vim的配置,随时更新 MacVim 安装: homebrew,安装位置:/usr/local/Cellar brew linkapps macvim--将macvim.app加入到Applica ...
随机推荐
- Hat's Fibonacci(大数加法+直接暴力)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1250 hdu1250: Hat's Fibonacci Time Limit: 2000/1000 M ...
- [国嵌攻略][117][LED驱动程序设计]
LED程序设计 1.编写内核模块 2.搭建字符驱动框架 3.实现设备方法 头文件 <linux/io.h> writel() 1.编译/安装驱动 make cp leddev.ko ... ...
- node学习笔记1——require参数查找策略
require参数类型 http.fs.path等,原生模块 ./mod或../mod,相对路径的文件模块 /pathtomodule/mod,绝对路径的文件模块 mod,非原生模块的文件模块 mo ...
- Laravel5.5 的 Homestead 开发环境部署
首先明白以下几个概念 VirtualBox -- Oracle 公司的虚拟机软件, 能运行在当前大部分流行的系统上; Vagrant 提供一种命令行接口, 允许自动化安装虚拟机, 并且因为是脚本编写 ...
- Linux 中出现的-bash: syntax error near unexpected token `
版权声明:本文为博主原创文章,未经博主允许不得转载. 在Linux 5中导入数据时,出现下面的错误. -bash: syntax error near unexpected token `(' 检查了 ...
- Java compiler level does not match the version of the installed java project facet错误的解决
因工作的关系,Eclipse开发的Java项目拷来拷去,有时候会报一个很奇怪的错误.明明源码一模一样,为什么项目复制到另一台机器上,就会报“java compiler level does not m ...
- [转] Freemarker的常用技巧总结
1,截取字符串 有的时候我们在页面中不需要显示那么长的字符串,比如新闻标题,这样用下面的例子就可以自定义显示的长度 < lt. <= lte. > gt. >= gte < ...
- 2.supervisor实时监控程序存活状态
1.supervisor是一款python开发的一个client/server服务,是一款进程管理工具,支持linux/unix系统,但是不支持windows系统. 它可以很方便的监听.启动.停止.重 ...
- scrapy_Response and Request
scrapy中重要的两个类是什么? Requests.Response 什么是Requests? 网页下载 有哪些参数? url callback headers # 头部信息 cookie ...
- 红米 Note3 (kenzo)刷入 Lineage OS
红米 Note3 (kenzo)刷入Lineage OS 的过程 详细的教程请看 Install LineageOS on kenzo 本文做一些额外的补充 0 刷机之的准备工作 如果登陆了 Goog ...