a byte of vim -- 学习摘要
说在前面的话 -- a byte of vim 是我见过的最介绍vim 最好的书,想了解强大的vim的人,或者是已经在使用vim而打算进一步了解的人,我感觉都应该看看这个,内容精炼但涵盖非常广,……“vim为什么这么强大”,当看完这本书时,我想你就能全然的了解了……此外。本书是一英文版,但非常easy,学语言的同一时候学习英语非常不多……
附上最新版的下载链接 http://download.csdn.net/detail/wuzhimang/8933257 ,当然上官网才是硬道理
下面是自己针对a byte of vim 做的学习摘要。原文的内容,方便自己以后使用与回顾 —— 由于好书(哪怕是工具书)读一两遍是不够的
## A Byte of Vim
1.Perface
"There is no great writing, only great rewriting." -- Louis Brandeis
"Vim if one of the few pieces of software that I use for nearly 10 hours a day." -- Authors
The mantra is *Concepts. Examples. Pithy*
Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.
2.Introduction
Powerful means following the paradigm of "Minimal effort. Maximal effect."
Press * Run :sp Run :50 Run :,100s/old/new/g Press gf
Run :colorscheme desert Run :nmap <c-s> :w<CR>
Run :mksession ~/latest_session.vim -> vim -S ~/latest_session.vim
Run :syntax on -> :set filetype=Wikipedia
Run :set foldmethod=indent Run :tabedit <file>
Press ctrl-n Run :0,10s/form/to/gc Run :%s/from/to/g
Run :help vim-modes-intro Run :edit hello.txt Run :e hello.txt
Run :help notation Run :help keycodes
Press db Press dw Press 2d3w
3.Modes
There are three basic modes in Vim - normal, insert and visual
Run :echo "hello world" Run :help usr_toc
Run :help index
Run :help vim-modes-intro Run :help mode-switching
a,A i,I o,O r,R s,S v,V
4.Typing Skills
vi/vim graphical cheat sheet
Press } { ( ) ~Press 3fh~
Press ctrl-o Press ctrl-i
Press ^ $ ctrl-f crtl-b
Press G H M L Press : help word-motions
Press :help cursor-motions
Press :help text-objects Press :help motion/various motions
5.Help
Run :help Run :help usr-manual
Run :help abbreviate Press ctrl-]
Run :helpgrep gt Run :cnext Run :cprev Run:clist
Press ma -> Press 'a Press ~
Run :let &keywordprg=':help'
"The true delight is in the finding out rather than in the knowing"
6.Editing Basics
Run :swapname Run :help swap-file
nmap <c-s> :w<CR>
imap <c-s> <Esc>:w<CR>a
Run :e ../tmp/test.txt cd pwd
Run :e C:\\shopping\\monday.txt
y -> yank
1G and | -> moves to the first line and the first column respectively
Run :dl dw
yy -> operation name twice, it will operate on the
yap -> yank the current paragraph
xp -> swap two characters
dwwP -> swap two words
m{a-zA-z} -> '{a-zA-Z}
"If I had eight hours to chop down a tree, I'd spent six hours sharpening my axe" -- Abraham Lincoln
u/U <-> ctrl-r --> undolevels :earlier 4m :later 45s
:undolist Run :help :undolist/undo-redo/usr_32.txt
set incsearch/ignorecase/smartcase --> /step /Step
Run :help vimrc-intro :help pattern
Run :/\<step\> /\d\+ /\d\*
7.Multiplicity
:set foldmethod=indent --> zc zo za
:nnoremap <space> za --> noremap
Run :help buffer-list :buffers :ls :bd 1
:e test.txt
:sp or ctrl-w s :vsp or ctrl-w v
ctrl-w r --> rotate the windows
ctrl-w K --> move the current windows to the topmost position
ctrl-w _ --> make the cutternt windows as big as possible
ctrl-w = --> make the windows 'equal' in height again
:resize 10
:help windows
:tabnew :tabc :help tabpage
:tab help tabpage :tabmove 0 :tabdo
:help setting-guitablabel
8.Personal Information Management
9.Scripting
qa --> to start recording the macro named as a (register)
gUl --> to switch the first letter to upper case
g# # g* *
q --> stop recording the macro
@a --> apply this to other lines
. --> repeat the last action
:colorscheme desert --> <tab> to cycle through the available schemes
:echo strlen(getline('.'))
:let len = strlen(getline('.'))
:echo "We have 'len' characters in this line."
:echo $HOME :echo &filetype :echo @a
:help function-list
:source capitalize.vim :call Capitalize()
:echo has("python")
:help eval :help python-commands :help perl-using
:help ruby-commands
10.Plugins
There are various kinds of plugins that can be written
--> vimrc --> global plugin --> filetype plugin
--> syntax highlighting plugin --> compiler plugin
vimrc --> for general customizations
gvimrc --> for GUI specific customizations
:help vimrc
the colon is optional when writing scripts in files
vim -u NONE -> start up Vim without any initialization scripts being run
:hlep -u :help starting
11.Programmers Editor
"Let's me reiterate that typing skills is critical for a programmer"
"We are typists first, programmers second"
:set filetype=vim $VIMRUNTIME/syntax --> the list of language types available
svn diff | vim -R -
:set autoindent :set smartindent
% -> bounce(curly bracket)
! -> shell commands :sh -> a full-fledged shell :%!sort
gf -> open the file gd -> move to the local definition of the variable name
gD -> the global declaration ]] ->
:help object-motions [I -> display all lines that contain they keyword under the cursor
:Vex -> :Sex ->
ctags cscope :make
omnicompletion -> pythoncomplete.vim -> ftplugin/<language>complete.vim
:runtime! autoload/pythoncomplete.vim
~/.vimrc -> autocmd FiltType python runtime! autoload/pythoncomplete.vim
ctrl-n ctrl-p
:help new-omni-completion
imap <c-space> <c-x><c-o> -> omnicompletion
snippet -> SnippetsEmu
:source % :runtime! ftplugin/python_snippets.vim
12.More
Modeline -> vim: noexpandtab
Portable Vim -> GVimPortable.exe
Upgrade plugins -> :GLVS(which stands for 'G'et 'L'atest 'V'im 'S'cripts)
-> :help getscript
Dr.Chip's plugins -> drawit.vim
Blog from Vim -> Vimpress plugin
Make Firefox work like Vim -> Vimperator add-on
Contribute to Vim -> :help development
Bram's talk on the seven habits -> "Seven habit of effective text editing"
Community -> hang out at the vim@vim.org
13.What Next
The other important resources -> "Best of Vim Tips" :help user-manual -> the all-important
:help new-7
a byte of vim -- 学习摘要的更多相关文章
- Linux学习系列之Linux入门(二)Vim学习
第二篇 Vim学习 主要内容: 基本命令: 插件扩展: 参考资料: vim是一个命令控制的文本编辑器,可以完成几乎我们想要做的所有工作,除了Emacs几乎没有其他的工具能和它匹敌.官方网站是:http ...
- Vi/VIM键盘图, Vi/vim学习图
Vi/vim学习图 引用: Vi键盘图片可视化教程 http://www.cnblogs.com/me115/archive/2010/11/16/1878295.html 网上的文章易流失.感谢分享 ...
- vim学习、各类插件配置与安装
vim学习.各类插件配置与安装 vim 插件 配置 1. vim学习 vim基础学习:根据网上流行基础文章<简明Vim练级攻略>,进阶书籍<vim实用技巧>.注:进阶书籍可以在 ...
- 推荐vim学习教程--《Vim 练级手册》
非常不错的vim学习资源,讲解的简单明了,可以作为速查工具,在忘记时就翻下.地址如下: <Vim 练级手册>
- VIM学习二: VIM配置代码及效果图
vim学习及插件 参见:http://www.cnblogs.com/caixu/p/6337926.html .vimrc配置 "***************************** ...
- vim学习之改头换面(基础配置)
还记得在线有个维护博客园的学长说过,这网站的前端做的贼丑,今日一看果真如此.其实我想说毕竟干货多,没有那么多花花肠子.下面开始进入正题. 在入坑了sublime.vscode.atom.notepad ...
- vim学习、各类插件配置与安装【转】
转自:https://www.cnblogs.com/forest-wow/p/6916531.html 1. vim学习 vim基础学习:根据网上流行基础文章<简明Vim练级攻略>,进阶 ...
- Linux之Vim学习
Linux之Vim学习 一般模式 光标移动 按键 作用 j或down方向键 向下移动一个字符 k或up方向键 向上移动一个字符 h或left方向键 向左移动一个字符 l或right方向键 向右移动一个 ...
- CSS学习摘要-定位实例
CSS学习摘要-定位实例 注:全文摘自MDN-CSS定位实例 列表消息盒子 我们研究的第一个例子是一个经典的选项卡消息框,你想用一块小区域包括大量信息时,一个非常常用的特征.这包括含有大信息量的应用, ...
随机推荐
- SyBase 百科
ylbtech_database_sybase 1, 百度百科 http://baike.baidu.com/view/118488.htm?fr=aladdin
- Delphi之过程与函数
过程以保留字procedure开始,没有返回值:函数以保留字function开始,有返回值. 参数位于括号里面,多个参数之间以分号分隔,例如: procedure SetDate(Year: Inte ...
- python 文件操作的注意事项
我们经常用python读取文件信息,这里有些注意事项 with open('test.txt', 'r') as f: print 'f.read', f.read() with open('test ...
- Linux使用nginx部署Laravel
问题描述 Laravel是PHP下当今最受欢迎的web应用开发框架,github上start数远超第二名Symfony,以前我用这个框架做项目的时候通常就是扔到apache里面,然后配置.htacce ...
- VirtualBox下Linux(centos)扩展磁盘空间
最近在Linux里做文件合并,做分词,磁盘空间不够,把扩展磁盘空间方法记录一下. 1.在VirtualBox安装路径下(例如C:\Program Files\Oracle\VirtualBox> ...
- Angular 学习笔记——filter
<!DOCTYPE html> <html lang="en" ng-app="myApp"> <head> <met ...
- Jsp:useBean使用详解
<jsp:useBean>标签用来在jsp页面中创建一个Bean实例,定义语法如下: 一.<jsp:useBean>语法 <jsp:useBean id="id ...
- 快速构建大数据存储分析平台-ELK平台安装
一.概述 ELK是由Elastic公司开发的Elasticsearch.Logstash.Kibana三款开源软件的缩写(但不限于这三款软件). 为什么使用ELK? 在目前流行的微服务架构中,一个大型 ...
- UVA - 434 Matty's Blocks
题意:给你正视和側视图,求最多多少个,最少多少个 思路:贪心的思想.求最少的时候:由于能够想象着移动,尽量让两个视图的重叠.所以我们统计每一个视图不同高度的个数.然后计算.至于的话.就是每次拿正视图的 ...
- 【VBA】复制单元格批注
只复制单元格的批注该怎么操作呢?代码如下: Public Sub 复制单元格批注() Dim range1 As range Dim range2 As range '清除G列 Columns(&qu ...