This repository was archived by the owner on Feb 19, 2021. It is now read-only.

Repository files navigation

VimConf

A vimrc file and different bundles. This vim setup requires at least Vim 7.3+ compiled with python & multibyte support.

The font used when running gVim is Inconsolata; the OpenType file is included in this repo.

The config uses neobundle for installing and updating bundled modules.

For Tagbar to work well with JavaScript (and probably other languages), we highly recommend installing the latest version of Exuberant Ctags.

For Syntastic to check syntax of different file types, you optionally need to have a PHP runtime, JSHint, and/or PyFlakes installed.

Requirements

  • Vim 7.3+ compiled with python & multibyte support.
  • An up to date installation of git.

Setup

Check out VimConf to your home folder like so:

$>cd~
$> git clone --recursive git://github.com/IntuitiveWebSolutions/VimConf.git

Then create symlinks to the files inside the repo:

ON OSX

$> ln -s ~/VimConf/.vim ~/.vim
$> ln -s ~/VimConf/.vimrc ~/.vimrc
$> ln -s ~/VimConf/.vimrc_custom ~/.vimrc_custom
$> ln -s ~/VimConf/.gvimrc ~/.gvimrc

ON Ubuntu

$> ln -s ~/VimConf/.vim ~
$> ln -s ~/VimConf/.vimrc ~
$> ln -s ~/VimConf/.vimrc_custom ~
$> ln -s ~/VimConf/.gvimrc ~

That way, any time you want to update to the latest versions of the VimConf, you can just git pull inside the VimConf folder.

$>cd~/VimConf/
$> git pull

NeoBundle

NeoBundle is the tool used to pull in all the plugins below. Make sure that the bundle is checked out (it is a submodule), and check out 'master'.

$>cd VimConf
$> git pull
$> git submodule init
$> git submodule update
$>cd~/VimConf/.vim/bundle/neobundle.vim
$> git checkout master

Now open vim - when you do this NeoBundle will ask to install all the plugins listed in vimrc. You can update these at any time from inside vim by running:

:NeoBundleUpdate

Bundle List

Color Schemes

  • blaydenDefault
  • jellybeanCan be set in .vimrc_custom
  • solarizedCan be set in .vimrc_custom - follow instructions at vim-colors-solarized

Window Management

Windows are always organised as follows:

===================================
| | S1 |
| |===================
| M | S2 |
| |===================
| | S3 |
===================================

Use the following commands to create, browse and close windows:

C-N Creates a new window and place it in the master pane [M] & stacks all previous windows in the stacked pane [S] C-C Close the current window if no unsaved changes C-J Jumps to next window (clockwise) C-K Jumps to previous window (anti-clockwise) C-Space Focus the current window, that is, place it in the master pane [M] & stacks all other windows in the stacked pane [S]

Keybindings and Commands

NERDCommenter Default Mappings

The below mappings are default in NERDCommenter, and the ones most used, so they are included in our README.

KeysCommand
,c[spacebar]Toggles comment state of the selected line(s)
,clComment current line or text selected in visual mode (forces nesting)
,cuUncomment selected lines(s)

JavaScript Commands

KeysCommand
,bInsert 'debugger;' breakpoint.

Custom Mappings

KeysCommand
ghGitGutter Next Hunk
gHGitGutter Previous Hunk
,,Toggles comment state of the selected line(s)
,siAdds a 'Signature' to the end of the line. Ex. ' -- Ben Hayden 5/14/2012'
,tcClose tab
,tnNext tab
,tpPrevious tab
,teEdit new tab
,lNavigate buffers
,/Grep in the current directory
,yShow yank buffers to paste from
,ntOpen Netrw in a vertical split
,tbToggle Tagbar plugin
,eOpen Syntastic Error Location List
,enGo to next error
,epGo to previous error
,igToggle IndentGuides plugin
,mlCompile LESS file to CSS. Requires NPM install of less
,pToggle paste mode (for easy copy & pasting in a terminal)
,lnToggle line numbers (for easy copying out of terminal)
,xpPut (Paste) from system clipboard
,xyYank (Copy) to system clipboard
,xxCut to system clipboard
,sWrite file
,evEdit $MYVIMRC
,svSource $MYVIMRC
,spTurn on Spell checking for EN_US
,nspTurn off Spell checking for EN_US
,qWrite & quit file
,rfTurn Syntax off/on on a file - a "refresh" of the syntax highlighting
,vVertical split window
,hHorizontal split window
,cwClose window
,wCloses all but the current window
,bdDelete (close) buffer
,chClear (turn off) highlighting
,rtRe-tab entire file. (Shortcut for gg=G)
,hbSend selected visual hunk to hastebin
,0Go to the first character of a line
,OInsert a newline before the current line without entering insert mode
,oInsert a newline after the current line without entering insert mode
,[spacebar] [character]Insert a character in place without entering insert mode
,a [character]Appends a character in place without entering insert mode
,wsRuns TrimWS and retab on the current buffer
,jReformat JSON automatically (Requires python command in system path)
:WWrite as super user
:Tabs2SpacesConvert tab characters to 4 space characters
shift + down arrowJump down 10 lines
shift + up arrowJump up 10 lines
control + hSwitch to left window
control + jSwitch to bottom window
control + kSwitch to top window
control + lSwitch to right window
control + pRun Unite file
*visual selection + *Visual Selection Search with //
visual selection + #Visual Selection Search with ??

Emmet is Awesome

  1. Expand an Abbreviation

Type the abbreviation as 'div>p#foo$*3>a' and type ','.

<div><pid="foo1"><ahref=""></a></p><pid="foo2"><ahref=""></a></p><pid="foo3"><ahref=""></a></p></div>
  1. Wrap with an Abbreviation

Write as below.

 test1
test2
test3

Then do visual select(line wise) and type ','. Once you get to the 'Tag:' prompt, type 'ul>li*'.

<ul><li>test1</li><li>test2</li><li>test3</li></ul>

If you type a tag, such as 'blockquote', then you'll see the following:

 <blockquote>
test1
test2
test3
</blockquote>
  1. Balance a Tag Inward

type 'd' in insert mode.

  1. Balance a Tag Outward

type 'D' in insert mode.

  1. Go to the Next Edit Point

type 'n' in insert mode.

  1. Go to the Previous Edit Point

type 'N' in insert mode.

About

A highly-tuned and up-to-date VimConf being maintained by the engineers at Intuitive Web Solutions.

Resources

Stars

24 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
This repository was archived by the owner on Feb 19, 2021. It is now read-only.

Repository files navigation

VimConf

A vimrc file and different bundles. This vim setup requires at least Vim 7.3+ compiled with python & multibyte support.

The font used when running gVim is Inconsolata; the OpenType file is included in this repo.

The config uses neobundle for installing and updating bundled modules.

For Tagbar to work well with JavaScript (and probably other languages), we highly recommend installing the latest version of Exuberant Ctags.

For Syntastic to check syntax of different file types, you optionally need to have a PHP runtime, JSHint, and/or PyFlakes installed.

Requirements

  • Vim 7.3+ compiled with python & multibyte support.
  • An up to date installation of git.

Setup

Check out VimConf to your home folder like so:

$>cd~
$> git clone --recursive git://github.com/IntuitiveWebSolutions/VimConf.git

Then create symlinks to the files inside the repo:

ON OSX

$> ln -s ~/VimConf/.vim ~/.vim
$> ln -s ~/VimConf/.vimrc ~/.vimrc
$> ln -s ~/VimConf/.vimrc_custom ~/.vimrc_custom
$> ln -s ~/VimConf/.gvimrc ~/.gvimrc

ON Ubuntu

$> ln -s ~/VimConf/.vim ~
$> ln -s ~/VimConf/.vimrc ~
$> ln -s ~/VimConf/.vimrc_custom ~
$> ln -s ~/VimConf/.gvimrc ~

That way, any time you want to update to the latest versions of the VimConf, you can just git pull inside the VimConf folder.

$>cd~/VimConf/
$> git pull

NeoBundle

NeoBundle is the tool used to pull in all the plugins below. Make sure that the bundle is checked out (it is a submodule), and check out 'master'.

$>cd VimConf
$> git pull
$> git submodule init
$> git submodule update
$>cd~/VimConf/.vim/bundle/neobundle.vim
$> git checkout master

Now open vim - when you do this NeoBundle will ask to install all the plugins listed in vimrc. You can update these at any time from inside vim by running:

:NeoBundleUpdate

Bundle List

Color Schemes

  • blaydenDefault
  • jellybeanCan be set in .vimrc_custom
  • solarizedCan be set in .vimrc_custom - follow instructions at vim-colors-solarized

Window Management

Windows are always organised as follows:

===================================
| | S1 |
| |===================
| M | S2 |
| |===================
| | S3 |
===================================

Use the following commands to create, browse and close windows:

C-N Creates a new window and place it in the master pane [M] & stacks all previous windows in the stacked pane [S] C-C Close the current window if no unsaved changes C-J Jumps to next window (clockwise) C-K Jumps to previous window (anti-clockwise) C-Space Focus the current window, that is, place it in the master pane [M] & stacks all other windows in the stacked pane [S]

Keybindings and Commands

NERDCommenter Default Mappings

The below mappings are default in NERDCommenter, and the ones most used, so they are included in our README.

KeysCommand
,c[spacebar]Toggles comment state of the selected line(s)
,clComment current line or text selected in visual mode (forces nesting)
,cuUncomment selected lines(s)

JavaScript Commands

KeysCommand
,bInsert 'debugger;' breakpoint.

Custom Mappings

KeysCommand
ghGitGutter Next Hunk
gHGitGutter Previous Hunk
,,Toggles comment state of the selected line(s)
,siAdds a 'Signature' to the end of the line. Ex. ' -- Ben Hayden 5/14/2012'
,tcClose tab
,tnNext tab
,tpPrevious tab
,teEdit new tab
,lNavigate buffers
,/Grep in the current directory
,yShow yank buffers to paste from
,ntOpen Netrw in a vertical split
,tbToggle Tagbar plugin
,eOpen Syntastic Error Location List
,enGo to next error
,epGo to previous error
,igToggle IndentGuides plugin
,mlCompile LESS file to CSS. Requires NPM install of less
,pToggle paste mode (for easy copy & pasting in a terminal)
,lnToggle line numbers (for easy copying out of terminal)
,xpPut (Paste) from system clipboard
,xyYank (Copy) to system clipboard
,xxCut to system clipboard
,sWrite file
,evEdit $MYVIMRC
,svSource $MYVIMRC
,spTurn on Spell checking for EN_US
,nspTurn off Spell checking for EN_US
,qWrite & quit file
,rfTurn Syntax off/on on a file - a "refresh" of the syntax highlighting
,vVertical split window
,hHorizontal split window
,cwClose window
,wCloses all but the current window
,bdDelete (close) buffer
,chClear (turn off) highlighting
,rtRe-tab entire file. (Shortcut for gg=G)
,hbSend selected visual hunk to hastebin
,0Go to the first character of a line
,OInsert a newline before the current line without entering insert mode
,oInsert a newline after the current line without entering insert mode
,[spacebar] [character]Insert a character in place without entering insert mode
,a [character]Appends a character in place without entering insert mode
,wsRuns TrimWS and retab on the current buffer
,jReformat JSON automatically (Requires python command in system path)
:WWrite as super user
:Tabs2SpacesConvert tab characters to 4 space characters
shift + down arrowJump down 10 lines
shift + up arrowJump up 10 lines
control + hSwitch to left window
control + jSwitch to bottom window
control + kSwitch to top window
control + lSwitch to right window
control + pRun Unite file
*visual selection + *Visual Selection Search with //
visual selection + #Visual Selection Search with ??

Emmet is Awesome

  1. Expand an Abbreviation

Type the abbreviation as 'div>p#foo$*3>a' and type ','.

<div><pid="foo1"><ahref=""></a></p><pid="foo2"><ahref=""></a></p><pid="foo3"><ahref=""></a></p></div>
  1. Wrap with an Abbreviation

Write as below.

 test1
test2
test3

Then do visual select(line wise) and type ','. Once you get to the 'Tag:' prompt, type 'ul>li*'.

<ul><li>test1</li><li>test2</li><li>test3</li></ul>

If you type a tag, such as 'blockquote', then you'll see the following:

 <blockquote>
test1
test2
test3
</blockquote>
  1. Balance a Tag Inward

type 'd' in insert mode.

  1. Balance a Tag Outward

type 'D' in insert mode.

  1. Go to the Next Edit Point

type 'n' in insert mode.

  1. Go to the Previous Edit Point

type 'N' in insert mode.

About

A highly-tuned and up-to-date VimConf being maintained by the engineers at Intuitive Web Solutions.

Resources

Stars

24 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Feb 19, 2021. It is now read-only.

Repository files navigation

VimConf

A vimrc file and different bundles. This vim setup requires at least Vim 7.3+ compiled with python & multibyte support.

The font used when running gVim is Inconsolata; the OpenType file is included in this repo.

The config uses neobundle for installing and updating bundled modules.

For Tagbar to work well with JavaScript (and probably other languages), we highly recommend installing the latest version of Exuberant Ctags.

For Syntastic to check syntax of different file types, you optionally need to have a PHP runtime, JSHint, and/or PyFlakes installed.

Requirements

  • Vim 7.3+ compiled with python & multibyte support.
  • An up to date installation of git.

Setup

Check out VimConf to your home folder like so:

$>cd~
$> git clone --recursive git://github.com/IntuitiveWebSolutions/VimConf.git

Then create symlinks to the files inside the repo:

ON OSX

$> ln -s ~/VimConf/.vim ~/.vim
$> ln -s ~/VimConf/.vimrc ~/.vimrc
$> ln -s ~/VimConf/.vimrc_custom ~/.vimrc_custom
$> ln -s ~/VimConf/.gvimrc ~/.gvimrc

ON Ubuntu

$> ln -s ~/VimConf/.vim ~
$> ln -s ~/VimConf/.vimrc ~
$> ln -s ~/VimConf/.vimrc_custom ~
$> ln -s ~/VimConf/.gvimrc ~

That way, any time you want to update to the latest versions of the VimConf, you can just git pull inside the VimConf folder.

$>cd~/VimConf/
$> git pull

NeoBundle

NeoBundle is the tool used to pull in all the plugins below. Make sure that the bundle is checked out (it is a submodule), and check out 'master'.

$>cd VimConf
$> git pull
$> git submodule init
$> git submodule update
$>cd~/VimConf/.vim/bundle/neobundle.vim
$> git checkout master

Now open vim - when you do this NeoBundle will ask to install all the plugins listed in vimrc. You can update these at any time from inside vim by running:

:NeoBundleUpdate

Bundle List

Color Schemes

  • blaydenDefault
  • jellybeanCan be set in .vimrc_custom
  • solarizedCan be set in .vimrc_custom - follow instructions at vim-colors-solarized

Window Management

Windows are always organised as follows:

===================================
| | S1 |
| |===================
| M | S2 |
| |===================
| | S3 |
===================================

Use the following commands to create, browse and close windows:

C-N Creates a new window and place it in the master pane [M] & stacks all previous windows in the stacked pane [S] C-C Close the current window if no unsaved changes C-J Jumps to next window (clockwise) C-K Jumps to previous window (anti-clockwise) C-Space Focus the current window, that is, place it in the master pane [M] & stacks all other windows in the stacked pane [S]

Keybindings and Commands

NERDCommenter Default Mappings

The below mappings are default in NERDCommenter, and the ones most used, so they are included in our README.

KeysCommand
,c[spacebar]Toggles comment state of the selected line(s)
,clComment current line or text selected in visual mode (forces nesting)
,cuUncomment selected lines(s)

JavaScript Commands

KeysCommand
,bInsert 'debugger;' breakpoint.

Custom Mappings

KeysCommand
ghGitGutter Next Hunk
gHGitGutter Previous Hunk
,,Toggles comment state of the selected line(s)
,siAdds a 'Signature' to the end of the line. Ex. ' -- Ben Hayden 5/14/2012'
,tcClose tab
,tnNext tab
,tpPrevious tab
,teEdit new tab
,lNavigate buffers
,/Grep in the current directory
,yShow yank buffers to paste from
,ntOpen Netrw in a vertical split
,tbToggle Tagbar plugin
,eOpen Syntastic Error Location List
,enGo to next error
,epGo to previous error
,igToggle IndentGuides plugin
,mlCompile LESS file to CSS. Requires NPM install of less
,pToggle paste mode (for easy copy & pasting in a terminal)
,lnToggle line numbers (for easy copying out of terminal)
,xpPut (Paste) from system clipboard
,xyYank (Copy) to system clipboard
,xxCut to system clipboard
,sWrite file
,evEdit $MYVIMRC
,svSource $MYVIMRC
,spTurn on Spell checking for EN_US
,nspTurn off Spell checking for EN_US
,qWrite & quit file
,rfTurn Syntax off/on on a file - a "refresh" of the syntax highlighting
,vVertical split window
,hHorizontal split window
,cwClose window
,wCloses all but the current window
,bdDelete (close) buffer
,chClear (turn off) highlighting
,rtRe-tab entire file. (Shortcut for gg=G)
,hbSend selected visual hunk to hastebin
,0Go to the first character of a line
,OInsert a newline before the current line without entering insert mode
,oInsert a newline after the current line without entering insert mode
,[spacebar] [character]Insert a character in place without entering insert mode
,a [character]Appends a character in place without entering insert mode
,wsRuns TrimWS and retab on the current buffer
,jReformat JSON automatically (Requires python command in system path)
:WWrite as super user
:Tabs2SpacesConvert tab characters to 4 space characters
shift + down arrowJump down 10 lines
shift + up arrowJump up 10 lines
control + hSwitch to left window
control + jSwitch to bottom window
control + kSwitch to top window
control + lSwitch to right window
control + pRun Unite file
*visual selection + *Visual Selection Search with //
visual selection + #Visual Selection Search with ??

Emmet is Awesome

  1. Expand an Abbreviation

Type the abbreviation as 'div>p#foo$*3>a' and type ','.

<div><pid="foo1"><ahref=""></a></p><pid="foo2"><ahref=""></a></p><pid="foo3"><ahref=""></a></p></div>
  1. Wrap with an Abbreviation

Write as below.

 test1
test2
test3

Then do visual select(line wise) and type ','. Once you get to the 'Tag:' prompt, type 'ul>li*'.

<ul><li>test1</li><li>test2</li><li>test3</li></ul>

If you type a tag, such as 'blockquote', then you'll see the following:

 <blockquote>
test1
test2
test3
</blockquote>
  1. Balance a Tag Inward

type 'd' in insert mode.

  1. Balance a Tag Outward

type 'D' in insert mode.

  1. Go to the Next Edit Point

type 'n' in insert mode.

  1. Go to the Previous Edit Point

type 'N' in insert mode.

About

A highly-tuned and up-to-date VimConf being maintained by the engineers at Intuitive Web Solutions.

Resources

Stars

24 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Feb 19, 2021. It is now read-only.

Repository files navigation

VimConf

A vimrc file and different bundles. This vim setup requires at least Vim 7.3+ compiled with python & multibyte support.

The font used when running gVim is Inconsolata; the OpenType file is included in this repo.

The config uses neobundle for installing and updating bundled modules.

For Tagbar to work well with JavaScript (and probably other languages), we highly recommend installing the latest version of Exuberant Ctags.

For Syntastic to check syntax of different file types, you optionally need to have a PHP runtime, JSHint, and/or PyFlakes installed.

Requirements

  • Vim 7.3+ compiled with python & multibyte support.
  • An up to date installation of git.

Setup

Check out VimConf to your home folder like so:

$>cd~
$> git clone --recursive git://github.com/IntuitiveWebSolutions/VimConf.git

Then create symlinks to the files inside the repo:

ON OSX

$> ln -s ~/VimConf/.vim ~/.vim
$> ln -s ~/VimConf/.vimrc ~/.vimrc
$> ln -s ~/VimConf/.vimrc_custom ~/.vimrc_custom
$> ln -s ~/VimConf/.gvimrc ~/.gvimrc

ON Ubuntu

$> ln -s ~/VimConf/.vim ~
$> ln -s ~/VimConf/.vimrc ~
$> ln -s ~/VimConf/.vimrc_custom ~
$> ln -s ~/VimConf/.gvimrc ~

That way, any time you want to update to the latest versions of the VimConf, you can just git pull inside the VimConf folder.

$>cd~/VimConf/
$> git pull

NeoBundle

NeoBundle is the tool used to pull in all the plugins below. Make sure that the bundle is checked out (it is a submodule), and check out 'master'.

$>cd VimConf
$> git pull
$> git submodule init
$> git submodule update
$>cd~/VimConf/.vim/bundle/neobundle.vim
$> git checkout master

Now open vim - when you do this NeoBundle will ask to install all the plugins listed in vimrc. You can update these at any time from inside vim by running:

:NeoBundleUpdate

Bundle List

Color Schemes

  • blaydenDefault
  • jellybeanCan be set in .vimrc_custom
  • solarizedCan be set in .vimrc_custom - follow instructions at vim-colors-solarized

Window Management

Windows are always organised as follows:

===================================
| | S1 |
| |===================
| M | S2 |
| |===================
| | S3 |
===================================

Use the following commands to create, browse and close windows:

C-N Creates a new window and place it in the master pane [M] & stacks all previous windows in the stacked pane [S] C-C Close the current window if no unsaved changes C-J Jumps to next window (clockwise) C-K Jumps to previous window (anti-clockwise) C-Space Focus the current window, that is, place it in the master pane [M] & stacks all other windows in the stacked pane [S]

Keybindings and Commands

NERDCommenter Default Mappings

The below mappings are default in NERDCommenter, and the ones most used, so they are included in our README.

KeysCommand
,c[spacebar]Toggles comment state of the selected line(s)
,clComment current line or text selected in visual mode (forces nesting)
,cuUncomment selected lines(s)

JavaScript Commands

KeysCommand
,bInsert 'debugger;' breakpoint.

Custom Mappings

KeysCommand
ghGitGutter Next Hunk
gHGitGutter Previous Hunk
,,Toggles comment state of the selected line(s)
,siAdds a 'Signature' to the end of the line. Ex. ' -- Ben Hayden 5/14/2012'
,tcClose tab
,tnNext tab
,tpPrevious tab
,teEdit new tab
,lNavigate buffers
,/Grep in the current directory
,yShow yank buffers to paste from
,ntOpen Netrw in a vertical split
,tbToggle Tagbar plugin
,eOpen Syntastic Error Location List
,enGo to next error
,epGo to previous error
,igToggle IndentGuides plugin
,mlCompile LESS file to CSS. Requires NPM install of less
,pToggle paste mode (for easy copy & pasting in a terminal)
,lnToggle line numbers (for easy copying out of terminal)
,xpPut (Paste) from system clipboard
,xyYank (Copy) to system clipboard
,xxCut to system clipboard
,sWrite file
,evEdit $MYVIMRC
,svSource $MYVIMRC
,spTurn on Spell checking for EN_US
,nspTurn off Spell checking for EN_US
,qWrite & quit file
,rfTurn Syntax off/on on a file - a "refresh" of the syntax highlighting
,vVertical split window
,hHorizontal split window
,cwClose window
,wCloses all but the current window
,bdDelete (close) buffer
,chClear (turn off) highlighting
,rtRe-tab entire file. (Shortcut for gg=G)
,hbSend selected visual hunk to hastebin
,0Go to the first character of a line
,OInsert a newline before the current line without entering insert mode
,oInsert a newline after the current line without entering insert mode
,[spacebar] [character]Insert a character in place without entering insert mode
,a [character]Appends a character in place without entering insert mode
,wsRuns TrimWS and retab on the current buffer
,jReformat JSON automatically (Requires python command in system path)
:WWrite as super user
:Tabs2SpacesConvert tab characters to 4 space characters
shift + down arrowJump down 10 lines
shift + up arrowJump up 10 lines
control + hSwitch to left window
control + jSwitch to bottom window
control + kSwitch to top window
control + lSwitch to right window
control + pRun Unite file
*visual selection + *Visual Selection Search with //
visual selection + #Visual Selection Search with ??

Emmet is Awesome

  1. Expand an Abbreviation

Type the abbreviation as 'div>p#foo$*3>a' and type ','.

<div><pid="foo1"><ahref=""></a></p><pid="foo2"><ahref=""></a></p><pid="foo3"><ahref=""></a></p></div>
  1. Wrap with an Abbreviation

Write as below.

 test1
test2
test3

Then do visual select(line wise) and type ','. Once you get to the 'Tag:' prompt, type 'ul>li*'.

<ul><li>test1</li><li>test2</li><li>test3</li></ul>

If you type a tag, such as 'blockquote', then you'll see the following:

 <blockquote>
test1
test2
test3
</blockquote>
  1. Balance a Tag Inward

type 'd' in insert mode.

  1. Balance a Tag Outward

type 'D' in insert mode.

  1. Go to the Next Edit Point

type 'n' in insert mode.

  1. Go to the Previous Edit Point

type 'N' in insert mode.

About

A highly-tuned and up-to-date VimConf being maintained by the engineers at Intuitive Web Solutions.

Resources

Stars

24 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
This repository was archived by the owner on Feb 19, 2021. It is now read-only.

Repository files navigation

VimConf

A vimrc file and different bundles. This vim setup requires at least Vim 7.3+ compiled with python & multibyte support.

The font used when running gVim is Inconsolata; the OpenType file is included in this repo.

The config uses neobundle for installing and updating bundled modules.

For Tagbar to work well with JavaScript (and probably other languages), we highly recommend installing the latest version of Exuberant Ctags.

For Syntastic to check syntax of different file types, you optionally need to have a PHP runtime, JSHint, and/or PyFlakes installed.

Requirements

  • Vim 7.3+ compiled with python & multibyte support.
  • An up to date installation of git.

Setup

Check out VimConf to your home folder like so:

$>cd~
$> git clone --recursive git://github.com/IntuitiveWebSolutions/VimConf.git

Then create symlinks to the files inside the repo:

ON OSX

$> ln -s ~/VimConf/.vim ~/.vim
$> ln -s ~/VimConf/.vimrc ~/.vimrc
$> ln -s ~/VimConf/.vimrc_custom ~/.vimrc_custom
$> ln -s ~/VimConf/.gvimrc ~/.gvimrc

ON Ubuntu

$> ln -s ~/VimConf/.vim ~
$> ln -s ~/VimConf/.vimrc ~
$> ln -s ~/VimConf/.vimrc_custom ~
$> ln -s ~/VimConf/.gvimrc ~

That way, any time you want to update to the latest versions of the VimConf, you can just git pull inside the VimConf folder.

$>cd~/VimConf/
$> git pull

NeoBundle

NeoBundle is the tool used to pull in all the plugins below. Make sure that the bundle is checked out (it is a submodule), and check out 'master'.

$>cd VimConf
$> git pull
$> git submodule init
$> git submodule update
$>cd~/VimConf/.vim/bundle/neobundle.vim
$> git checkout master

Now open vim - when you do this NeoBundle will ask to install all the plugins listed in vimrc. You can update these at any time from inside vim by running:

:NeoBundleUpdate

Bundle List

Color Schemes

  • blaydenDefault
  • jellybeanCan be set in .vimrc_custom
  • solarizedCan be set in .vimrc_custom - follow instructions at vim-colors-solarized

Window Management

Windows are always organised as follows:

===================================
| | S1 |
| |===================
| M | S2 |
| |===================
| | S3 |
===================================

Use the following commands to create, browse and close windows:

C-N Creates a new window and place it in the master pane [M] & stacks all previous windows in the stacked pane [S] C-C Close the current window if no unsaved changes C-J Jumps to next window (clockwise) C-K Jumps to previous window (anti-clockwise) C-Space Focus the current window, that is, place it in the master pane [M] & stacks all other windows in the stacked pane [S]

Keybindings and Commands

NERDCommenter Default Mappings

The below mappings are default in NERDCommenter, and the ones most used, so they are included in our README.

KeysCommand
,c[spacebar]Toggles comment state of the selected line(s)
,clComment current line or text selected in visual mode (forces nesting)
,cuUncomment selected lines(s)

JavaScript Commands

KeysCommand
,bInsert 'debugger;' breakpoint.

Custom Mappings

KeysCommand
ghGitGutter Next Hunk
gHGitGutter Previous Hunk
,,Toggles comment state of the selected line(s)
,siAdds a 'Signature' to the end of the line. Ex. ' -- Ben Hayden 5/14/2012'
,tcClose tab
,tnNext tab
,tpPrevious tab
,teEdit new tab
,lNavigate buffers
,/Grep in the current directory
,yShow yank buffers to paste from
,ntOpen Netrw in a vertical split
,tbToggle Tagbar plugin
,eOpen Syntastic Error Location List
,enGo to next error
,epGo to previous error
,igToggle IndentGuides plugin
,mlCompile LESS file to CSS. Requires NPM install of less
,pToggle paste mode (for easy copy & pasting in a terminal)
,lnToggle line numbers (for easy copying out of terminal)
,xpPut (Paste) from system clipboard
,xyYank (Copy) to system clipboard
,xxCut to system clipboard
,sWrite file
,evEdit $MYVIMRC
,svSource $MYVIMRC
,spTurn on Spell checking for EN_US
,nspTurn off Spell checking for EN_US
,qWrite & quit file
,rfTurn Syntax off/on on a file - a "refresh" of the syntax highlighting
,vVertical split window
,hHorizontal split window
,cwClose window
,wCloses all but the current window
,bdDelete (close) buffer
,chClear (turn off) highlighting
,rtRe-tab entire file. (Shortcut for gg=G)
,hbSend selected visual hunk to hastebin
,0Go to the first character of a line
,OInsert a newline before the current line without entering insert mode
,oInsert a newline after the current line without entering insert mode
,[spacebar] [character]Insert a character in place without entering insert mode
,a [character]Appends a character in place without entering insert mode
,wsRuns TrimWS and retab on the current buffer
,jReformat JSON automatically (Requires python command in system path)
:WWrite as super user
:Tabs2SpacesConvert tab characters to 4 space characters
shift + down arrowJump down 10 lines
shift + up arrowJump up 10 lines
control + hSwitch to left window
control + jSwitch to bottom window
control + kSwitch to top window
control + lSwitch to right window
control + pRun Unite file
*visual selection + *Visual Selection Search with //
visual selection + #Visual Selection Search with ??

Emmet is Awesome

  1. Expand an Abbreviation

Type the abbreviation as 'div>p#foo$*3>a' and type ','.

<div><pid="foo1"><ahref=""></a></p><pid="foo2"><ahref=""></a></p><pid="foo3"><ahref=""></a></p></div>
  1. Wrap with an Abbreviation

Write as below.

 test1
test2
test3

Then do visual select(line wise) and type ','. Once you get to the 'Tag:' prompt, type 'ul>li*'.

<ul><li>test1</li><li>test2</li><li>test3</li></ul>

If you type a tag, such as 'blockquote', then you'll see the following:

 <blockquote>
test1
test2
test3
</blockquote>
  1. Balance a Tag Inward

type 'd' in insert mode.

  1. Balance a Tag Outward

type 'D' in insert mode.

  1. Go to the Next Edit Point

type 'n' in insert mode.

  1. Go to the Previous Edit Point

type 'N' in insert mode.

About

A highly-tuned and up-to-date VimConf being maintained by the engineers at Intuitive Web Solutions.

Resources

Stars

24 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Feb 19, 2021. It is now read-only.

Repository files navigation

VimConf

A vimrc file and different bundles. This vim setup requires at least Vim 7.3+ compiled with python & multibyte support.

The font used when running gVim is Inconsolata; the OpenType file is included in this repo.

The config uses neobundle for installing and updating bundled modules.

For Tagbar to work well with JavaScript (and probably other languages), we highly recommend installing the latest version of Exuberant Ctags.

For Syntastic to check syntax of different file types, you optionally need to have a PHP runtime, JSHint, and/or PyFlakes installed.

Requirements

  • Vim 7.3+ compiled with python & multibyte support.
  • An up to date installation of git.

Setup

Check out VimConf to your home folder like so:

$>cd~
$> git clone --recursive git://github.com/IntuitiveWebSolutions/VimConf.git

Then create symlinks to the files inside the repo:

ON OSX

$> ln -s ~/VimConf/.vim ~/.vim
$> ln -s ~/VimConf/.vimrc ~/.vimrc
$> ln -s ~/VimConf/.vimrc_custom ~/.vimrc_custom
$> ln -s ~/VimConf/.gvimrc ~/.gvimrc

ON Ubuntu

$> ln -s ~/VimConf/.vim ~
$> ln -s ~/VimConf/.vimrc ~
$> ln -s ~/VimConf/.vimrc_custom ~
$> ln -s ~/VimConf/.gvimrc ~

That way, any time you want to update to the latest versions of the VimConf, you can just git pull inside the VimConf folder.

$>cd~/VimConf/
$> git pull

NeoBundle

NeoBundle is the tool used to pull in all the plugins below. Make sure that the bundle is checked out (it is a submodule), and check out 'master'.

$>cd VimConf
$> git pull
$> git submodule init
$> git submodule update
$>cd~/VimConf/.vim/bundle/neobundle.vim
$> git checkout master

Now open vim - when you do this NeoBundle will ask to install all the plugins listed in vimrc. You can update these at any time from inside vim by running:

:NeoBundleUpdate

Bundle List

Color Schemes

  • blaydenDefault
  • jellybeanCan be set in .vimrc_custom
  • solarizedCan be set in .vimrc_custom - follow instructions at vim-colors-solarized

Window Management

Windows are always organised as follows:

===================================
| | S1 |
| |===================
| M | S2 |
| |===================
| | S3 |
===================================

Use the following commands to create, browse and close windows:

C-N Creates a new window and place it in the master pane [M] & stacks all previous windows in the stacked pane [S] C-C Close the current window if no unsaved changes C-J Jumps to next window (clockwise) C-K Jumps to previous window (anti-clockwise) C-Space Focus the current window, that is, place it in the master pane [M] & stacks all other windows in the stacked pane [S]

Keybindings and Commands

NERDCommenter Default Mappings

The below mappings are default in NERDCommenter, and the ones most used, so they are included in our README.

KeysCommand
,c[spacebar]Toggles comment state of the selected line(s)
,clComment current line or text selected in visual mode (forces nesting)
,cuUncomment selected lines(s)

JavaScript Commands

KeysCommand
,bInsert 'debugger;' breakpoint.

Custom Mappings

KeysCommand
ghGitGutter Next Hunk
gHGitGutter Previous Hunk
,,Toggles comment state of the selected line(s)
,siAdds a 'Signature' to the end of the line. Ex. ' -- Ben Hayden 5/14/2012'
,tcClose tab
,tnNext tab
,tpPrevious tab
,teEdit new tab
,lNavigate buffers
,/Grep in the current directory
,yShow yank buffers to paste from
,ntOpen Netrw in a vertical split
,tbToggle Tagbar plugin
,eOpen Syntastic Error Location List
,enGo to next error
,epGo to previous error
,igToggle IndentGuides plugin
,mlCompile LESS file to CSS. Requires NPM install of less
,pToggle paste mode (for easy copy & pasting in a terminal)
,lnToggle line numbers (for easy copying out of terminal)
,xpPut (Paste) from system clipboard
,xyYank (Copy) to system clipboard
,xxCut to system clipboard
,sWrite file
,evEdit $MYVIMRC
,svSource $MYVIMRC
,spTurn on Spell checking for EN_US
,nspTurn off Spell checking for EN_US
,qWrite & quit file
,rfTurn Syntax off/on on a file - a "refresh" of the syntax highlighting
,vVertical split window
,hHorizontal split window
,cwClose window
,wCloses all but the current window
,bdDelete (close) buffer
,chClear (turn off) highlighting
,rtRe-tab entire file. (Shortcut for gg=G)
,hbSend selected visual hunk to hastebin
,0Go to the first character of a line
,OInsert a newline before the current line without entering insert mode
,oInsert a newline after the current line without entering insert mode
,[spacebar] [character]Insert a character in place without entering insert mode
,a [character]Appends a character in place without entering insert mode
,wsRuns TrimWS and retab on the current buffer
,jReformat JSON automatically (Requires python command in system path)
:WWrite as super user
:Tabs2SpacesConvert tab characters to 4 space characters
shift + down arrowJump down 10 lines
shift + up arrowJump up 10 lines
control + hSwitch to left window
control + jSwitch to bottom window
control + kSwitch to top window
control + lSwitch to right window
control + pRun Unite file
*visual selection + *Visual Selection Search with //
visual selection + #Visual Selection Search with ??

Emmet is Awesome

  1. Expand an Abbreviation

Type the abbreviation as 'div>p#foo$*3>a' and type ','.

<div><pid="foo1"><ahref=""></a></p><pid="foo2"><ahref=""></a></p><pid="foo3"><ahref=""></a></p></div>
  1. Wrap with an Abbreviation

Write as below.

 test1
test2
test3

Then do visual select(line wise) and type ','. Once you get to the 'Tag:' prompt, type 'ul>li*'.

<ul><li>test1</li><li>test2</li><li>test3</li></ul>

If you type a tag, such as 'blockquote', then you'll see the following:

 <blockquote>
test1
test2
test3
</blockquote>
  1. Balance a Tag Inward

type 'd' in insert mode.

  1. Balance a Tag Outward

type 'D' in insert mode.

  1. Go to the Next Edit Point

type 'n' in insert mode.

  1. Go to the Previous Edit Point

type 'N' in insert mode.

About

A highly-tuned and up-to-date VimConf being maintained by the engineers at Intuitive Web Solutions.

Resources

Stars

24 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Feb 19, 2021. It is now read-only.

Repository files navigation

VimConf

A vimrc file and different bundles. This vim setup requires at least Vim 7.3+ compiled with python & multibyte support.

The font used when running gVim is Inconsolata; the OpenType file is included in this repo.

The config uses neobundle for installing and updating bundled modules.

For Tagbar to work well with JavaScript (and probably other languages), we highly recommend installing the latest version of Exuberant Ctags.

For Syntastic to check syntax of different file types, you optionally need to have a PHP runtime, JSHint, and/or PyFlakes installed.

Requirements

  • Vim 7.3+ compiled with python & multibyte support.
  • An up to date installation of git.

Setup

Check out VimConf to your home folder like so:

$>cd~
$> git clone --recursive git://github.com/IntuitiveWebSolutions/VimConf.git

Then create symlinks to the files inside the repo:

ON OSX

$> ln -s ~/VimConf/.vim ~/.vim
$> ln -s ~/VimConf/.vimrc ~/.vimrc
$> ln -s ~/VimConf/.vimrc_custom ~/.vimrc_custom
$> ln -s ~/VimConf/.gvimrc ~/.gvimrc

ON Ubuntu

$> ln -s ~/VimConf/.vim ~
$> ln -s ~/VimConf/.vimrc ~
$> ln -s ~/VimConf/.vimrc_custom ~
$> ln -s ~/VimConf/.gvimrc ~

That way, any time you want to update to the latest versions of the VimConf, you can just git pull inside the VimConf folder.

$>cd~/VimConf/
$> git pull

NeoBundle

NeoBundle is the tool used to pull in all the plugins below. Make sure that the bundle is checked out (it is a submodule), and check out 'master'.

$>cd VimConf
$> git pull
$> git submodule init
$> git submodule update
$>cd~/VimConf/.vim/bundle/neobundle.vim
$> git checkout master

Now open vim - when you do this NeoBundle will ask to install all the plugins listed in vimrc. You can update these at any time from inside vim by running:

:NeoBundleUpdate

Bundle List

Color Schemes

  • blaydenDefault
  • jellybeanCan be set in .vimrc_custom
  • solarizedCan be set in .vimrc_custom - follow instructions at vim-colors-solarized

Window Management

Windows are always organised as follows:

===================================
| | S1 |
| |===================
| M | S2 |
| |===================
| | S3 |
===================================

Use the following commands to create, browse and close windows:

C-N Creates a new window and place it in the master pane [M] & stacks all previous windows in the stacked pane [S] C-C Close the current window if no unsaved changes C-J Jumps to next window (clockwise) C-K Jumps to previous window (anti-clockwise) C-Space Focus the current window, that is, place it in the master pane [M] & stacks all other windows in the stacked pane [S]

Keybindings and Commands

NERDCommenter Default Mappings

The below mappings are default in NERDCommenter, and the ones most used, so they are included in our README.

KeysCommand
,c[spacebar]Toggles comment state of the selected line(s)
,clComment current line or text selected in visual mode (forces nesting)
,cuUncomment selected lines(s)

JavaScript Commands

KeysCommand
,bInsert 'debugger;' breakpoint.

Custom Mappings

KeysCommand
ghGitGutter Next Hunk
gHGitGutter Previous Hunk
,,Toggles comment state of the selected line(s)
,siAdds a 'Signature' to the end of the line. Ex. ' -- Ben Hayden 5/14/2012'
,tcClose tab
,tnNext tab
,tpPrevious tab
,teEdit new tab
,lNavigate buffers
,/Grep in the current directory
,yShow yank buffers to paste from
,ntOpen Netrw in a vertical split
,tbToggle Tagbar plugin
,eOpen Syntastic Error Location List
,enGo to next error
,epGo to previous error
,igToggle IndentGuides plugin
,mlCompile LESS file to CSS. Requires NPM install of less
,pToggle paste mode (for easy copy & pasting in a terminal)
,lnToggle line numbers (for easy copying out of terminal)
,xpPut (Paste) from system clipboard
,xyYank (Copy) to system clipboard
,xxCut to system clipboard
,sWrite file
,evEdit $MYVIMRC
,svSource $MYVIMRC
,spTurn on Spell checking for EN_US
,nspTurn off Spell checking for EN_US
,qWrite & quit file
,rfTurn Syntax off/on on a file - a "refresh" of the syntax highlighting
,vVertical split window
,hHorizontal split window
,cwClose window
,wCloses all but the current window
,bdDelete (close) buffer
,chClear (turn off) highlighting
,rtRe-tab entire file. (Shortcut for gg=G)
,hbSend selected visual hunk to hastebin
,0Go to the first character of a line
,OInsert a newline before the current line without entering insert mode
,oInsert a newline after the current line without entering insert mode
,[spacebar] [character]Insert a character in place without entering insert mode
,a [character]Appends a character in place without entering insert mode
,wsRuns TrimWS and retab on the current buffer
,jReformat JSON automatically (Requires python command in system path)
:WWrite as super user
:Tabs2SpacesConvert tab characters to 4 space characters
shift + down arrowJump down 10 lines
shift + up arrowJump up 10 lines
control + hSwitch to left window
control + jSwitch to bottom window
control + kSwitch to top window
control + lSwitch to right window
control + pRun Unite file
*visual selection + *Visual Selection Search with //
visual selection + #Visual Selection Search with ??

Emmet is Awesome

  1. Expand an Abbreviation

Type the abbreviation as 'div>p#foo$*3>a' and type ','.

<div><pid="foo1"><ahref=""></a></p><pid="foo2"><ahref=""></a></p><pid="foo3"><ahref=""></a></p></div>
  1. Wrap with an Abbreviation

Write as below.

 test1
test2
test3

Then do visual select(line wise) and type ','. Once you get to the 'Tag:' prompt, type 'ul>li*'.

<ul><li>test1</li><li>test2</li><li>test3</li></ul>

If you type a tag, such as 'blockquote', then you'll see the following:

 <blockquote>
test1
test2
test3
</blockquote>
  1. Balance a Tag Inward

type 'd' in insert mode.

  1. Balance a Tag Outward

type 'D' in insert mode.

  1. Go to the Next Edit Point

type 'n' in insert mode.

  1. Go to the Previous Edit Point

type 'N' in insert mode.

About

A highly-tuned and up-to-date VimConf being maintained by the engineers at Intuitive Web Solutions.

Resources

Stars

24 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
This repository was archived by the owner on Feb 19, 2021. It is now read-only.

Repository files navigation

VimConf

A vimrc file and different bundles. This vim setup requires at least Vim 7.3+ compiled with python & multibyte support.

The font used when running gVim is Inconsolata; the OpenType file is included in this repo.

The config uses neobundle for installing and updating bundled modules.

For Tagbar to work well with JavaScript (and probably other languages), we highly recommend installing the latest version of Exuberant Ctags.

For Syntastic to check syntax of different file types, you optionally need to have a PHP runtime, JSHint, and/or PyFlakes installed.

Requirements

  • Vim 7.3+ compiled with python & multibyte support.
  • An up to date installation of git.

Setup

Check out VimConf to your home folder like so:

$>cd~
$> git clone --recursive git://github.com/IntuitiveWebSolutions/VimConf.git

Then create symlinks to the files inside the repo:

ON OSX

$> ln -s ~/VimConf/.vim ~/.vim
$> ln -s ~/VimConf/.vimrc ~/.vimrc
$> ln -s ~/VimConf/.vimrc_custom ~/.vimrc_custom
$> ln -s ~/VimConf/.gvimrc ~/.gvimrc

ON Ubuntu

$> ln -s ~/VimConf/.vim ~
$> ln -s ~/VimConf/.vimrc ~
$> ln -s ~/VimConf/.vimrc_custom ~
$> ln -s ~/VimConf/.gvimrc ~

That way, any time you want to update to the latest versions of the VimConf, you can just git pull inside the VimConf folder.

$>cd~/VimConf/
$> git pull

NeoBundle

NeoBundle is the tool used to pull in all the plugins below. Make sure that the bundle is checked out (it is a submodule), and check out 'master'.

$>cd VimConf
$> git pull
$> git submodule init
$> git submodule update
$>cd~/VimConf/.vim/bundle/neobundle.vim
$> git checkout master

Now open vim - when you do this NeoBundle will ask to install all the plugins listed in vimrc. You can update these at any time from inside vim by running:

:NeoBundleUpdate

Bundle List

Color Schemes

  • blaydenDefault
  • jellybeanCan be set in .vimrc_custom
  • solarizedCan be set in .vimrc_custom - follow instructions at vim-colors-solarized

Window Management

Windows are always organised as follows:

===================================
| | S1 |
| |===================
| M | S2 |
| |===================
| | S3 |
===================================

Use the following commands to create, browse and close windows:

C-N Creates a new window and place it in the master pane [M] & stacks all previous windows in the stacked pane [S] C-C Close the current window if no unsaved changes C-J Jumps to next window (clockwise) C-K Jumps to previous window (anti-clockwise) C-Space Focus the current window, that is, place it in the master pane [M] & stacks all other windows in the stacked pane [S]

Keybindings and Commands

NERDCommenter Default Mappings

The below mappings are default in NERDCommenter, and the ones most used, so they are included in our README.

KeysCommand
,c[spacebar]Toggles comment state of the selected line(s)
,clComment current line or text selected in visual mode (forces nesting)
,cuUncomment selected lines(s)

JavaScript Commands

KeysCommand
,bInsert 'debugger;' breakpoint.

Custom Mappings

KeysCommand
ghGitGutter Next Hunk
gHGitGutter Previous Hunk
,,Toggles comment state of the selected line(s)
,siAdds a 'Signature' to the end of the line. Ex. ' -- Ben Hayden 5/14/2012'
,tcClose tab
,tnNext tab
,tpPrevious tab
,teEdit new tab
,lNavigate buffers
,/Grep in the current directory
,yShow yank buffers to paste from
,ntOpen Netrw in a vertical split
,tbToggle Tagbar plugin
,eOpen Syntastic Error Location List
,enGo to next error
,epGo to previous error
,igToggle IndentGuides plugin
,mlCompile LESS file to CSS. Requires NPM install of less
,pToggle paste mode (for easy copy & pasting in a terminal)
,lnToggle line numbers (for easy copying out of terminal)
,xpPut (Paste) from system clipboard
,xyYank (Copy) to system clipboard
,xxCut to system clipboard
,sWrite file
,evEdit $MYVIMRC
,svSource $MYVIMRC
,spTurn on Spell checking for EN_US
,nspTurn off Spell checking for EN_US
,qWrite & quit file
,rfTurn Syntax off/on on a file - a "refresh" of the syntax highlighting
,vVertical split window
,hHorizontal split window
,cwClose window
,wCloses all but the current window
,bdDelete (close) buffer
,chClear (turn off) highlighting
,rtRe-tab entire file. (Shortcut for gg=G)
,hbSend selected visual hunk to hastebin
,0Go to the first character of a line
,OInsert a newline before the current line without entering insert mode
,oInsert a newline after the current line without entering insert mode
,[spacebar] [character]Insert a character in place without entering insert mode
,a [character]Appends a character in place without entering insert mode
,wsRuns TrimWS and retab on the current buffer
,jReformat JSON automatically (Requires python command in system path)
:WWrite as super user
:Tabs2SpacesConvert tab characters to 4 space characters
shift + down arrowJump down 10 lines
shift + up arrowJump up 10 lines
control + hSwitch to left window
control + jSwitch to bottom window
control + kSwitch to top window
control + lSwitch to right window
control + pRun Unite file
*visual selection + *Visual Selection Search with //
visual selection + #Visual Selection Search with ??

Emmet is Awesome

  1. Expand an Abbreviation

Type the abbreviation as 'div>p#foo$*3>a' and type ','.

<div><pid="foo1"><ahref=""></a></p><pid="foo2"><ahref=""></a></p><pid="foo3"><ahref=""></a></p></div>
  1. Wrap with an Abbreviation

Write as below.

 test1
test2
test3

Then do visual select(line wise) and type ','. Once you get to the 'Tag:' prompt, type 'ul>li*'.

<ul><li>test1</li><li>test2</li><li>test3</li></ul>

If you type a tag, such as 'blockquote', then you'll see the following:

 <blockquote>
test1
test2
test3
</blockquote>
  1. Balance a Tag Inward

type 'd' in insert mode.

  1. Balance a Tag Outward

type 'D' in insert mode.

  1. Go to the Next Edit Point

type 'n' in insert mode.

  1. Go to the Previous Edit Point

type 'N' in insert mode.

About

A highly-tuned and up-to-date VimConf being maintained by the engineers at Intuitive Web Solutions.

Resources

Stars

24 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages