Vim, empty and blank lines, executing commands on regexes, ^M

It’s been quite a while since I wrote something in the Bits and Pieces category. I’m forgetting that the goal of this blog was partly documenting my own knowledge for my own use.Definitely need to hide this category from the front page and use it often. Or even better, make it a category on the wiki.

That said:

Vim digraphs

^M is how vim shows the 0xD character, which in Windows is a newline character. A more complete list of such characters is here: http://vimdoc.sourceforge.net/htmldoc/digraph.html#digraph-table

One way to insert such characters would be: ^M is entered by holding down Ctrl and typing v followed by m, and then releasing Ctrl. 1https://stackoverflow.com/a/5843561/3597501

Interestingly enough, the keys above are represented via the <kbd> tag, which apparently is a thing:2 https://developer.mozilla.org/ru/docs/Web/HTML/Element/kbd

The HTML <kbd> element represents user input and produces an inline element displayed in the browser’s default monospace font.

Vim removing empty lines & executing a command on lines matching a regex

:g/^$/d
:g will execute a command on lines which match a regex. The regex is ‘blank line’ and the command is :d (delete) 3 https://stackoverflow.com/questions/706076/vim-delete-blank-lines

Also interesting is the distinction between blank lines and empty lines. They could be defined as just '\n' and as a line with various spaces, but on visible content.

Footnotes   [ + ]

1. https://stackoverflow.com/a/5843561/3597501
2. https://developer.mozilla.org/ru/docs/Web/HTML/Element/kbd
3. https://stackoverflow.com/questions/706076/vim-delete-blank-lines

Vim, dvorak и кириллица

Всегда очень сильно бесила необходимость постоянно переключаться на англ. язык и обратно если я редактировал что-то, что использовало кириллицу, и нужно было делать что-то в normal mode. В первую очередь мешало при создании веб-страниц.

Об этой теме довольно много написано, но у меня проблема была так же в том, что я использую клавиатуру dvorak, и фокус с

Не прокатывал. Кириллические буквы печатались в соответствии с qwerty-раскладкой.

Решил написать собственный файл-раскладку по примеру существующих файлов. Ищем существующие файлы:

whereis vim, cd /usr/share/vim/vim73/keymap/, ls – и внезапно обнаруживаю russian-dvorak.vim, моей радости нету предела, итого:

в .vimrc.

Переключается через Ctrl+^.

Вообще это очень простой выход, но нетривиальный, и я в Интернете не находил ничего, что мне могло помочь, и я не решил бы проблему, если бы не захотел сам писать кастомный файл. Ибо проблема довольно узкая. (Однако – еще один плюсик vim за то, что этот файл там был, кто-то таки подумал об этом. Приятно.)

И кстати за одно еще парочка интересных моментов из того конфиг-файла. Включаем синтаксис, номеры строк, автоматическое индентирование, подсветку результатов поиска, а так же заменяем ооочень неудобную для нажатия Esc на комбинацию qj, которые редко используются и рядом находятся на клавиатуре. На саму работу не влияет, кроме ничтожной задержки при нажатии q (ибо работает в Insert mode).