Vim staff

In this post I will collect interesting stuff for Vim (Vi improved).


1. How I boosted my Vim (by

2. Two weeks with Vim (by

3. Fullscreen for GVIM in Linux (by

4. How do you make vim more better? (by

5. Using Git fro storing Vim configuration files (by

6. The Power and Precision of Vim's Text Objects: Efficient, Elegant, Awesome.

7. Using undo branches (by

8. Everyone Who Tried to Convince Me to use Vim was Wrong (by

9. A Starting Guide to VIM from Textmate (by

10. Highlight unwanted spaces (by

11. Seven habits of effective text editing (by

12. Quickly and easily do a large commit from Vim (by

13. VIM Destroys All Other Rails Editors (by

14. Ctags - Vim with steroids (by


1. Pyte (light), Twilight (cross-editor dark colorscheme), Proton (light, with gray background):

2. Liquid Carbon (dark)

3. Mayan Smoke (pastel light)

4. Sorcerer (dark)

5. 137 classic Vim themes

6. Underwater (dark)

7. Vylight (A color scheme was designed to look good in an OS X environment)

8. vimcolorschemetest (Vim Color Scheme Test showcases the color schemes that are available in using examples in several file types.)


1. Vimcasts

2. Classic PeepCode screencast - Smash into Vim

3. Derek Wyatt's videos - A lot of short but usefull Vim screencasts


1. Gundo.vim (A Vim plugin to visualize your undo tree.)

2. Vimtodo (Todo manager script inspired by todo.txt and org-mode)

3. NERD Tree (Plugin is useful to have a directory tree and can more easily move the files that make up our project.)
toggling NERD Tree vie F2:
1map <F2> :NERDTreeToggle<cr>

4. Taglist (Plugin used to have easier access to functions, and blocks within our code)
toggling NERD Tree vie F3:
1map <F2> :TlistToggle<cr>

5. NERD Commenter (A plugin that allows for easy commenting of code for many filetypes. )

6. HAML (Haml and Sass syntax, indenting, and ftplugin)

7. CSApprox (Make gvim-only colorschemes work transparently in terminal vim)


1. Vim cheatsheet:

2. Vim Movement Shortcuts Wallpaper

3. VI Editor / Linux Terminal Cheat Sheet (PDF) - Pretty cool

Vimrc tips:

1. Colorschemes for different environments:
1colo evening
2if has( "gui_running" )
3  colo github
4elseif  $TERM =~ '256'
5  colo wombat256

2. Save files when Vim loses focus
1au FocusLost * :wa

Useful commands:

1. Replace the current line with the output of the command
1 :.!ls

2. Place shell command output into Vim
1find . -name complicated_condition | vim -

3. Delete all lines containing pattern
1:g/profile/d # delete all lines containing "profile"
2:g/^\s*$/d # delete all lines that are empty or that contain only whitespace
3:g!/^\s*"/d # delete all lines that do not contain a pattern
4:v/^\s*"/d # same action
5:v/error\|warn\|fail/d # to delete all lines except those that contain "error" or "warn" or "fail"

4. Rremove trailing whitespace
1match Todo /\s\+$/ # this will flag them the same way as TODO or FIXME
2:%s/\s\+$//e # to remove them, run this on normal mode

5. Exploring the file system
5.1. Open file explorer:
  1:e.  # in current working directory
2:sp. # in split at current working directory
3:vs. # in vertical split at current working directory
4:E # at directory of current file
5:Se # in split at directory of current file
6:Ve # in vertical split at directory of current file

5.2. Manipulating the filesystem:
  1%  # create a new file
2d # create a new directory
3R # rename the file/directory under the cursor
4D # Delete the file/directory under the cursor

6. NERD Commenter shortcuts
  1,cc               # Comments out the current line or text selected in visual mode. 
2,cn # Same as <1> but forces nesting.
3,c<space> # Toggles the comment state of the selected line(s).
4,cm # Comments the given lines using only one set of multipart delimiters if possible.
5,ci # Toggles the comment state of the selected line(s) individually.
6,cs # Comments out the selected lines 'sexily'
7,cy # Same as |NERDComComment| except that the commented line(s) are yanked before commenting.
8,c$ # Comments the current line from the cursor to the end of line.
9,cA # Adds comment delimiters to the end of line and goes into insert mode between them.
10,cl # Adds comment delimiters to the start of line and goes into insert mode between them.
11,ca # Switches to the alternative set of delimiters.
12,cu # Uncomments the selected line(s).

7. Executing editable file
  1! scriptname %:p

8. Using tab pages
8.1. Opening and closing tabs:
  1 vim -p first.txt second.txt # opening a list of files each in seprated tab.
2 gvim -p *.txt # opening a list of matched files in seprated tabs.
3 :tabedit {file} # edit specified file in a new tab.
4 :tabfind {file} # open a new tab with filename given, searching the 'path' to find it
5 :tabclose # close current tab
6 :tabclose {i} # close i-th tab
7 :tabonly # close all other tabs (show only the current tab)
8 :tab ball # show each buffer in a tab (up to 'tabpagemax' tabs)
9 :tab help # open a new help window in its own tab page
10:tab drop {file} # open {file} in a new tab, or jump to a window/tab containing the file if there is one
11:tab split # copy the current window to a new tab of its own

8.1. Navigation between tabs:
  1 :tabs                       # list all tabs including their displayed windows
2 :tabm 0 # move current tab to first
3 :tabm # move current tab to last
4 :tabm {i} # move current tab to position i+1
5 :tabn # go to next tab
6 :tabp # go to previous tab
7 :tabfirst # go to first tab
8 :tablast # go to last tab

In normal mode:
9 gt # go to next tab
10gT # go to previous tab
11{i}gt # go to tab in position i

9. Folding
  1 zf#j        # creates a fold from the cursor down # lines.
2 zf/ # string creates a fold from the cursor to string .
3 zj # moves the cursor to the next fold.
4 zk # moves the cursor to the previous fold.
5 zo # opens a fold at the cursor.
6 zO # opens all folds at the cursor.
7 zm # increases the foldlevel by one.
8 zM # closes all open folds.
9 zr # decreases the foldlevel by one.
10zR # decreases the foldlevel to zero -- all folds will be open.
11zd # deletes the fold at the cursor.
12zE # deletes all folds.
13[z # move to start of open fold.
14]z # move to end of open fold.

Запустили новый интернет-магазин. Глобальное потепление отменяется.

Кстати, отдельно хочется отметить административную часть. В этот раз решили порадовать клиента полной базой кондиционеров и ajax-ом во всем. Как результат — полное наполнение магазина товарами заняло пол часа.
Скриншот админки:

Следуя давней традиции выпускать что-то более-менее стоящее ровно раз в год я рад наконец-то представить вот этот сайт. Пока в стадии заполнения, зато на трех языках. Картинка — ссылка.

182 Кб

Art Deco Textmate theme

Уже давно пользуюсь, а сейчас решил поделиться с нациями и народностями легкой темой для Textmate. Цвета и начертания подбирались долго. Выбор основан исключительно на практике применения. Пялиться можно хоть целый день.
Код на ruby с этой темой будет выглядеть вот так:

Кстати, нации и народности, имейте ввиду, что эту тему, ровно как и другие, сделанные специально для Textmate можно эксплуатировать в редакторах e и Aptana Studio 3.

Скачать (7,8 кБ)


Всегда любил Белоруссию. Ну вообще всегда и во всем. И люди там приветливые, и Apple Tea моя любимая джазовая группа, и Брест — лучшее место на Земле.

И еще одним поводом полюбить Белоруссию еще больше стала недавняя находка — студия Вадима Скротского. Работы цепляют, смысл приятен.

Илья Михайлов

Так сложилось, что уже двольно большой отрезок времени человеком, от работ которого я прусь и благоговею является Илья Михайлов. Мне безоговорочно нравятся все его работы в рамках самизнаетекакой студии, как новые, так и выполненные им еще на заре сотрудничества со студией.
Но найти хоть какую-то информацию о нем практически невозможно. Твиттер - нет. Жж - нет. И так далее...
Единственной более-менее хоть чего нибудь повествующим источником сейчас является страница на сайте Странно как-то.

Ruby: Redcar

Среди примеров системного софта, написанного на Руби имется неплохой текстовый редактор: Red Car.

Приятно, что это во-первых это альтернатива TextMate для Gnome (и как следствие или, читай, "наследственное условие", поддерживает бандлы, сниппеты и темы праобраза), что немаловажно для косвенной популяризации продуктов Apple, а во-вторых особенно приятно то, что эта программа написана на Руби. Но из этого и вытекают некоторые особенности: программа довольно не просто ставится и запускается довольно долго (но работет на удивление живо).

Присутствует многооконный (emacs-like) интерфейс, чего в TextMate и в Intype очень не хватает.

Popcorn Design

Есть как отдельные дизайнеры, так и целые коллективы за творчеством которых хочется следить, произведения которых хочется замылить глазами до последнего пикселя и вынести для себя как можно больше полезного. Одной из таких студий стала для меня с недавних пор студия Popcorn Design.

И особенно замечательно то, что вставляет почти каждая работа, а над визуальщиной для Дней Бразилии просто хочется плакать от радости. Отдельно стоит отметить, что у ребят (а может и у девушек, понятия, честно говоря, не имею) получается одинаково отлично как графичесикй дизайн, так и айдентика вкупе с дизайном сайтов. Воистину, универсальная творческая единица! Они мне определенно нравятся, что большая редкость.

Являясь, по-сути, полной противоположностью, ну например, Бюро Пирогова, они чтут и восхваляют информационный дизайн, дизайн чистый и логичный в каждом своем проявлении и доносят вводную идею до зрителя поразительно чистой и не замутненной.
В общем, хороши.

Для страждущих имеется портфолио по графическому дизайну и интерфейсам (PDF, 26,6МБ).