java vimrc_vimrc: 终极 vim 配置, 克隆自: https://github.com/amix/vimrc

java vimrc_vimrc: 终极 vim 配置, 克隆自: https://github.com/amix/vimrc这个仓库克自https://github.com/amix/vimrc放在oschina上来加速部署,也方便再添加些功能.如何使用:gitclonehttps://git.oschina.net/shrekuu/vimrc.git~/.vim_runtimesh~/.vim_runtime/install_awesome_vimrc.sh更多:这个版本直接加入了~/.vim_ru…

大家好,又见面了,我是你们的朋友全栈君。

这个仓库克自 https://github.com/amix/vimrc

放在 oschina 上来加速部署, 也方便再添加些功能.

如何使用:

git clone https://git.oschina.net/shrekuu/vimrc.git ~/.vim_runtime

sh ~/.vim_runtime/install_awesome_vimrc.sh

更多:

这个版本直接加入了 ~/.vim_runtime/my_config.vim 文件, 并写入了一些配置, 具体参考这个文件.

加入了 molokai 主题配色, 也就是 sublime text 上那个默认配色 monokai.

vim 编辑时的缓存文件与备份存放在 ~/.vim_runtime/swapfiles/, ~/.vim_runtime/backupfiles/ 两个目录.

其它参考最最最下面列出的每个插件的功能. 强大到不行不行的. :)

来看一下:

bc817db4120f5de534f9f63e563de45f.png

下面是原仓库 readme.md 内容

The Ultimate vimrc

Over the last 8 years I have used and tweaked Vim. This is my Ultimate vimrc.

There are two versions:

Basic: If you want something small just copy basic.vim into your ~/.vimrc and you will have a great basic setup

Awesome: This includes a ton of useful plugins, color schemes and configurations

I would of course recommend using the awesome version.

How to install the Awesome version?

The awesome version includes a lot of great plugins, configurations and color schemes that make Vim a lot better. To install it simply do following:

git clone https://github.com/amix/vimrc.git ~/.vim_runtime

sh ~/.vim_runtime/install_awesome_vimrc.sh

The taglist.vim plugin will require ctags (http://ctags.sourceforge.net) (Debian: apt-get install ctags)

I also recommend using Source Code Pro font from Adobe (it’s free and awesome font for writing and programming). The Awesome vimrc is already setup to try to use it

How to install the Basic version?

The basic version is basically just one file and no plugins. You can check out basic.vim.

This is useful to install on remote servers where you don’t need many plugins and you don’t do many edits.

git clone git://github.com/amix/vimrc.git ~/.vim_runtime

sh ~/.vim_runtime/install_basic_vimrc.sh

How to install on Windows?

Use msysgit to checkout the repository and run the installation instructions above. No special instructions needed ;-)

How to update to latest version?

Simply just do a git rebase!

cd ~/.vim_runtime

git pull –rebase

Some screenshots

Colors when editing a Python file:

screenshot_1.png

Opening recently opened files mru.vim:

screenshot_2.png

NERD Tree plugin in a terminal window:

screenshot3.png

This vimrc even works on Windows!

screenshot_4.png

Distraction free mode using goyo.vim and vim-zenroom2:

zen_mode.jpg

Included Plugins

I recommend reading the docs of these plugins to understand them better. Each of them provide a much better Vim experience!

pathogen.vim: Manages the runtime path of the plugins

YankRing: Maintains a history of previous yanks, changes and deletes

snipMate.vim: snipMate.vim aims to be a concise vim script that implements some of TextMate’s snippets features in Vim

bufexplorer.zip: Buffer Explorer / Browser. This plugin can be opened with

NERD Tree: A tree explorer plugin for vim

ack.vim: Vim plugin for the Perl module / CLI script ‘ack’

ag.vim: A much faster Ack

ctrlp.vim: Fuzzy file, buffer, mru and tag finder. In my config it’s mapped to , because is used by YankRing

mru.vim: Plugin to manage Most Recently Used (MRU) files. Includes my own fork which adds syntax highlighting to MRU. This plugin can be opened with

open_file_under_cursor.vim: Open file under cursor when pressing gf

zencoding: Expanding abbreviation like zen-coding, very useful for editing XML, HTML.

vim-indent-object: Defines a new text object representing lines of code at the same indent level. Useful for python/vim scripts

taglist.vim: Source code browser (supports C/C++, java, perl, python, tcl, sql, php, etc)

vim-multiple-cursors: Sublime Text style multiple selections for Vim, CTRL+N is remapped to CTRL+S (due to YankRing)

vim-expand-region: Allows you to visually select increasingly larger regions of text using the same key combination.

vim-airline: Lean & mean status/tabline for vim that’s light as air (replacing powerline)

vim-fugitive: A Git wrapper so awesome, it should be illegal

goyo.vim and vim-zenroom2:

Remove all clutter and focus only on the essential. Similar to iA Writer or Write Room Read more here

vim-commentary: Comment stuff out. Use gcc to comment out a line (takes a count), gc to comment out the target of a motion. gcu uncomments a set of adjacent commented lines.

syntastic: Syntax checking hacks for vim

Included color schemes

Included modes

How to include your own stuff?

After you have installed the setup you can create ~/.vim_runtime/my_configs.vim to fill in any configurations that are important for you. For instance, my my_configs.vim looks like this:

~/.vim_runtime (master)> cat my_configs.vim

map ct :cd ~/Desktop/Todoist/todoist

map cw :cd ~/Desktop/Wedoist/wedoist

You can also install your own plugins, for instance, via pathogen we can install vim-rails:

cd ~/.vim_runtime

git clone git://github.com/tpope/vim-rails.git sources_non_forked/vim-rails

Now you have vim-rails installed ;-)

Key Mappings

Plugin related mappings

Open bufexplorer and see and manage the current buffers:

map o :BufExplorer

Open MRU.vim and see the recently open files:

map f :MRU

Open ctrlp.vim plugin:

let g:ctrlp_map = ”

Open PeepOpen plugin:

map j :PeepOpen

Managing the NERD Tree plugin:

map nn :NERDTreeToggle

map nb :NERDTreeFromBookmark

map nf :NERDTreeFind

goyo.vim and vim-zenroom2 lets you only focus on one thing at a time. It removes all the distractions and centers the content. It has a special look when editing Markdown, reStructuredText and textfiles. It only has one mapping.

map z :Goyo

Normal mode mappings

Fast saving of a buffer:

nmap w :w!

Treat long lines as break lines (useful when moving around in them):

map j gj

map k gk

Map to / (search) and + to ? (backwards search):

map /

map ?

map :noh

Disable highlight when is pressed:

map :noh

Smart way to move between windows:

map j

map k

map h

map l

Closing of current buffer(s):

” Close current buffer

map bd :Bclose

” Close all buffers

map ba :1,1000 bd!

Useful mappings for managing tabs:

map tn :tabnew

map to :tabonly

map tc :tabclose

map tm :tabmove

” Opens a new tab with the current buffer’s path

” Super useful when editing files in the same directory

map te :tabedit =expand(“%:p:h”)/

Switch CWD to the directory of the open buffer:

map cd :cd %:p:h:pwd

Open vimgrep and put the cursor in the right position:

map g :vimgrep // **/*.

Vimgreps in the current file:

map :vimgrep // %

Remove the Windows ^M – when the encodings gets messed up:

noremap m mmHmt:%s///ge’tzt’m

Quickly open a buffer for scripbble:

map q :e ~/buffer

Toggle paste mode on and off:

map pp :setlocal paste!

Insert mode mappings

Quickly insert parenthesis/brackets/etc.:

inoremap $1 ()i

inoremap $2 []i

inoremap $3 {}i

inoremap $4 {o}O

inoremap $q ”i

inoremap $e “”i

inoremap $t <>i

Insert the current date and time (useful for timestamps):

iab xdate =strftime(“%d/%m/%y %H:%M:%S”)

Visual mode mappings

Visual mode pressing * or # searches for the current selection:

vnoremap * :call VisualSelection(‘f’)

vnoremap # :call VisualSelection(‘b’)

When you press gv you vimgrep after the selected text:

vnoremap gv :call VisualSelection(‘gv’)

When you press r you can search and replace the selected text:

vnoremap r :call VisualSelection(‘replace’)

Surround the visual selection in parenthesis/brackets/etc.:

vnoremap $1 `>a)`

vnoremap $2 `>a]`

vnoremap $3 `>a}`

vnoremap $$ `>a”`

vnoremap $q `>a’`

vnoremap $e `>a”`

Command line mappings

$q is super useful when browsing on the command line. It deletes everything until the last slash:

cno $q eDeleteTillSlash()

Bash like keys for the command line:

cnoremap

cnoremap

cnoremap

cnoremap

cnoremap

Write the file as sudo (only on Unix). Super useful when you open a file and you don’t have permissions to save your changes. Vim tip:

:W

Spell checking

Pressing ss will toggle and untoggle spell checking

map ss :setlocal spell!

Shortcuts using instead of special chars

map sn ]s

map sp [s

map sa zg

map s? z=

Cope

Do :help cope if you are unsure what cope is. It’s super useful!

When you search with vimgrep, display your results in cope by doing:

cc

To go to the next search result do:

n

To go to the previous search results do:

p

Vimscript mappings:

map cc :botright cope

map co ggVGy:tabnew:set syntax=qfpgg

map n :cn

map p :cp

Useful blog tips regarding my Vim setup

How to uninstall

Do following:

Remove ~/.vim_runtime

Remove any lines that refernce .vim_runtime in your ~/.vimrc

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/132034.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 网络安全2020年前景展望:九大未来的安全威胁

    网络安全2020年前景展望:九大未来的安全威胁

    2022年4月2日
    57
  • JAVA – 虚函数、抽象函数、抽象类、接口

    JAVA – 虚函数、抽象函数、抽象类、接口1. Java虚函数虚函数的存在是为了多态。C++中普通成员函数加上virtual关键字就成为虚函数Java中其实没有虚函数的概念,它的普通函数就相当于C++的虚函数,动态绑定是Java的默认行为。如果Java中不希望某个函数具有虚函数特性,可以加上final关键字变成非虚函数PS: 其实C++和Java在虚函数的观点大同小异,异曲同工罢了。 2. Java抽象函数(纯虚函…

    2022年6月13日
    29
  • 11 如何通过 “副本传输” 传输从DEV到QAS的请求号

    11 如何通过 “副本传输” 传输从DEV到QAS的请求号业务背景:在实际项目中,当顾问在DEV配置系统中做好配置,或者开发顾问在DEV开发系统中做好了开发,生成了请求号后,需要将对应的配置传输到QAS系统(集成测试系统),要想将请求号对应的配置或开发内容从DEV系统传输到QAS系统。常规操作就是需要将请求号进行释放后,在进行传输,但是在实际情况下,很多时候顾问的配置或开发内容并未全部完成或还需要进行局部修改的情况下,副本传输就可以解决既可以不释放请求号,又可以达到跨服务器传输请求号内容的目的了。PS:请求号一旦释放后,就不能再使用同一个请求号进行配置和

    2022年6月28日
    36
  • python-sort函数[通俗易懂]

    python-sort函数[通俗易懂]sort调用方式:sorted(str)list.sort()sorted()函数函数原型sorted(iterable,cmp=None,key=None,reverse=False

    2022年7月6日
    27
  • 重磅!2021年国内Java培训机构排名前十最新出炉啦

    重磅!2021年国内Java培训机构排名前十最新出炉啦2021年国内Java培训机构排名前十的学校会是哪些呢?国内Java培训机构排名前十名该依据什么来评定呢?2021年国内Java培训机构排行榜排名的依据是按学员口碑、教学质量、就业率等多方面来进行评判,这次的排名是官方发布,具有权威性、公正性,可参考意义很强。下面,就为大家揭晓2021年最新的国内Java培训机构排名,这些机构在此次的评选活动中的得分又是多少呢。1、动力节点动力节点是成立于2009年,成立时间比较长,到现在为止还是只做Java单科教育,从动力节点毕业的程序员说讲的不错,创始人

    2022年7月7日
    1.1K
  • 国外代理服务器ip哪个好用?

    国外代理服务器ip哪个好用?哪个类型的IP代理运行得更好?人们在网上冲浪时,常常无意中暴露自己的IP地址,是因特网链路级网关提供的一个重要安全功能,主要工作于开放系统互连(Osl)模型的对话层上,因此可以作为防火墙。那什么类型的IP代理运行得更好呢?目前市场上代理IP的品牌很多,虽然都是代理IP,但具体的功能也各不相同,因为代理IP也有不同的种类,根据不同的需求可以选择哪种代理IP,今天万变代理小编就带你去看看哪个类型的代理IP比较好用?1、Http代理:最常用的代理,代理客户端http访问,主要是代理浏览器访问网页,一般有80、.

    2022年4月29日
    153

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号