Введение
Здесь я делюсь опытом работы в Vim’е. Предполагается, читатель имеет установленные vi и vim, а также знаком с основами работы с UNIX-подобной системой.
Помнится, когда товарищ установил FreeBSD на мою домашнюю ЭВМ, некоторые файлы открывались непонятным мне образом. Я быстро старался избавиться от этого несчастья. Через некоторое время я понял, что происходит: в системе по умолчанию, в переменной окружения EDITOR, установлен редактор vi. Я сразу поменял его на ‘ee’ (easy editor). Это действительно простой редактор, затруднений с ним возникнуть просто не может, однако и особой свободы в нем не испытать. Вскоре его стало не хватать…
Описание работы с редактором я привожу в хронологическом порядке — от простого к сложному. Так как Vim на 99 % совместим с Vi, сначала я дам краткое описание работы с vi.
Легенда сокращений и специальных символов:
Строки, начинающиеся с символа "#" - командная строка; <ESC> - нажатие клавишу Escape (или Ctrl-[); <CR> - ... Enter; <SHIFT> - ... Shift ^x - ... Ctrl-x
Настраиваем кодировки
Если в только что установленном Vim открыть скрипт в кодировке UTF-8, то, по крайней мере в Windows, мы увидим крокозяблы вместо русских букв:
Чтобы переключить кодировку на правильную UTF-8, вводим команду в командной строке редактора:
:e ++enc=utf8
В результате получаем читаемые комментарии на русском языке:
Каждый раз вводить эту команду не интересно, поэтому добавим новый пункт меню, с помощью которого можно будет переключать кодировки
Для этого идем в папку, где установлен Vim и ищем файл _vimrc в Windows или .vimrc в linux. В Windows он расположен по адресу X:\Program Files\Vim. Заметьте, что сам (g)Vim расположен по адресу X:\Program Files\Vim\vim72
» Меню выбора кодировки текста (utf8, cp1251, koi8-r, cp866)menu Кодировка.utf-8 :e ++enc=utf8 <CR>menu Кодировка.windows-1251 :e ++enc=cp1251<CR>menu Кодировка.koi8-r :e ++enc=koi8-r<CR>menu Кодировка.cp866 :e ++enc=cp866<CR>
Как видите, свое меню создавать очень легко. Строка <CR> обозначает нажатие Enter, а комментарии начинаются с двойной кавычки.
Теперь мы можем вручную переключать кодировки:
Но вручную переключать кодировки не интересно, поэтому сделаем так, чтобы Vim сам пытался определять нужную кодировку. Для этого достаточно добавить всего одну строку в _vimrc:
» Список используемых кодировок для автоматического их определенияset fileencodings=utf-8,cp1251
Параметру fileencodings присваиваем список используемых в повседневной жизни кодировок. Теперь при открытии файла все сразу будет выводиться в правильной кодировке.
Теперь нам осталось исправить одно маленькое недоразумение, которое состоит в том, что Vim может не признавать русские буквы за буквы, из-за чего не будут корректно работать команды, связанные с выделением слов (например, перемещение к следующему или предыдущему слову). Исправить это легко. Достаточно в файл _vimrc добавить строку:
set iskeyword=@,a-z,A-Z,48-57,_,128-175,192-255
Здесь мы перечисляем какие символы и их коды Vim должен считать за буквы. Диапазон 48-57 соответствует цифрам, 128-175 — части русских букв в кодировке DOS (866), а 192-255 охватывает оставшиеся русские буквы в кодировке DOS и все русские буквы в кодировке Windows-1251.
предисловие
В настоящее время каждый дистрибутив Linux в основном поставляется с редактором vi, а редактор vim, упомянутый в этой статье, произвел некоторые оптимизации и обновления до vi, что более полезно. Когда нам нужно удаленно управлять сервером Linux, мы можем использовать только командную строку, что означает, что если вам нужно редактировать текст, вы можете использовать только редактор командной строки. Популярными редакторами являются vim, emacs и nano. Самым простым в использовании является nano, следующим является vim, а самым трудным является emacs. Если нет никого, кто мог бы его использовать, то такого понятия, как редактор, не существует. Дело лишь в том, привык ли пользователь к своему мышлению. У редактора действительно есть свои идеи. Вы должны следовать его мышлению.
Как установить
Перейдите на сайт vim.org и поставьте подходящую версию Vim на компьютер. Десктопный редактор — это полигон для тренировок. Здесь вы можете запустить тестовый проект или начать писать текстовые заметки. Основная задача: привыкнуть к новому сочетанию клавиш, научиться быстро переключаться между режимами и перестать пользоваться мышкой с трекпадом.
После установки перейдите в раздел «Справка» и выберите вкладу «Учебник Vim» — это интерактивная обучающая программа и минимум, необходимый для работы с редактором. Учебник состоит из семи уроков, по ходу которых вы познакомитесь с основными командами и сможете медленно обрабатывать код. Чтобы постоянно не возвращаться к учебнику — рекомендуем установить на рабочий стол фирменные обои или распечатать шпаргалку с командами Vim. Когда выучите команды и сможете ими пользоваться без шпаргалок — переходите на следующий этап и попробуйте использовать Vim на реальном проекте.
Стартовая страница учебника Vim. Учебник можно вызвать через «Справку» или команду vimtutor. Во время тестов мы скачали несколько версий редактора, и команда vimtutor срабатывала не всегда. Поэтому рекомендуем пользоваться «Справкой» — она надёжней
КАК ИСПОЛЬЗОВАТЬ РЕДАКТОР VIM
Начнем мы, как обычно с запуска программы, а также опций, которые ей можно передать. Синтаксис Vim очень прост:
$ vim опции имя_файла
Или:
$ vi опции имя_файла
Простой запуск vim без указания имени файла приведет к созданию пустого файла. А теперь давайте рассмотрим основные опции запуска:
- +номер — переместить курсор к указной строке после запуска.
- +/шаблон — выполнить поиск по шаблону и переместить курсор к первому вхождению
- «+команда» — выполнить команду после запуска программы
- -b — двоичный режим, для редактирования исполняемых файлов.
- -d — режим поиска различий в файлах, нужно указать несколько файлов для открытия.
- -g — графический режим.
- -n — не использовать автосохранение для восстановления файла при сбое.
- -R — режим только для чтения.
- -w — сохранить все действия в файл.
- -x — шифровать файл при записи.
- -C — режим совместимости с Vi.
Круто, правда? Но это только начало. Опции ничего по сравнению с командами редактора.
Текстовый редактор Vim
По началу Вим оставляет весьма странные ощущения, ведь вы попросту не можете понять, как вообще работает этот редактор. То он вообще не реагирует на нажатия клавиш, то делает какие-то странные вещи. Например, вы пытаетесь написать door, а в результате получаете or да еще и в новой строке. Удалив это вы вновь пытаетесь ввести новое слово, но теперь редактор ведет себя адекватно и вы видите введенное вами слово, а потом снова какие-то непонятки.
Спустя несколько попыток разобраться, как это работает, и бесчисленное количество матерных слов ты идешь в интернет и узнаешь, что Vim — двухрежимный редактор. Писать текст здесь можно только в режиме ввода (INSERT), для перехода в который следует нажать кнопку i или Insert.
Основной же режим, для выхода в который используется Esc, здесь предназначен для ввода, как тебе на первый взгляд кажется, хоткеев. Причем состоять они могут всего из одной клавиши: w — передвигает курсор к следующему слову, 0 — в начало строки, $ — в конец строки, A переводит курсор в конец строки и переключает редактор в режим ввода, u — аналог Ctrl-Z в нормальных редакторах.
Погуглив еще немного, ты обнаруживаешь, что есть также «хоткеи» из двух и более последовательных нажатий. Такие, как, например, dd, который удаляет всю строку и dw, удаляющий слово, gg и GG, которые перемещают курсор в начало и конец документа.
Немного привыкнув, ты уже можешь кое-как прыгать между режимами и вводить эти странные хоткеи — они даже начинают казаться тебе удобными, но один вопрос все-таки тебя не покидает:
«Хоткеи» Vim действительно удобны благодаря своей лаконичности, но разве необходимость переключения между режимами не убивает все их удобство? Разве не проще нажимать пусть и требующие больше движений горячие клавиши в нормальных редакторах, чем мотаться взад-вперед между режимами? Да, может быть сорок лет назад, когда на клавиатурах не было Ctrl и Alt, это и было оправдано, но сейчас-то зачем?
Так и заканчивает знакомство с Vim среднестатистический пользователь. Некоторое время он, конечно, еще потратит на то, чтобы найти выход, но затем забудет как страшный сон и вернется к своему любимому Sublime. А уж в условиях сурового сервера и nano сойдет.
Почему так происходит? По одной простой причине: для работы с Vim нужна совсем другая система мышления, переключиться на которую мало кому удается сразу.
23 мая 2017 года вопрос «Как выйти из Vim набрал один миллион просмотров на StackOverflow»
КОМАНДНЫЙ РЕЖИМ VIM
В командном режиме вы можете перемещаться по редактируемому тексту и выполнять действия над ним с помощью буквенных клавиш. Именно этот режим открывается по умолчанию при старте редактора. Здесь вы будете использовать краткие команды, перед которыми может устанавливаться номер, чтобы повторить команду несколько раз. Для начинающих может быть поначалу очень запутанно то, что в командном режиме символы интерпретируются как команды.
Для перемещения используются такие команды:
- h — на один символ влево;
- l — на один символ вправо;
- j — на одну строку вниз;
- k — на одну строку вверх;
- w — на слово вправо;
- b — на слово влево;
- H — перейти в низ экрана;
- G — перейти в конец файла;
Можете запустить редактор и поэкспериментировать, чтобы было легче понять как это работает. Если перед тем как нажать кнопку буквы нажать цифру, то эта команда будет повторена несколько раз. Например, 3j переведет курсор на три строки вверх.
Для переключения в режим редактирования используются такие команды:
- i — вставить текст с позиции курсора, символ под курсором будет заменен;
- I — вставить текст в начало строки;
- a — добавить текст начиная от позиции курсора;
- o — вставить новую строку после этой и начать редактирование;
- O — вставить новую строку перед этой и начать редактирование;
- r — заменить текущий символ;
- R — заменить несколько символов.
К этим командам тоже применимы символы повторения. Поэкспериментируйте, можно получить интересный и не совсем ожиданий результат.
Более сложны команды редактирования текста. Вы можете править текст не только в обычном режиме, но и в командном с помощью команд. Для этого применяются такие команды:
- d — удалить символ;
- dd — удалить всю строку;
- D — удалить символы начиная от курсора и до конца строки;
- y — копировать символ;
- yy или Y — скопировать всю строку;
- v — выделить текст;
Эти команды редактора vim работают немного по-другому после нажатия одной из них ничего не произойдет. Мы еще можем задать количество символов, к которым будет применена команда и направление, с помощью кнопок перемещения курсора. Например, чтобы удалить два символа справа от курсора нажмите d3l, а чтобы удалить три строки вниз — d3j. Команды yy, dd, Y — не что иное, как сокращения.
Кроме этих команд, есть еще несколько полезных, которые мы не можем не рассмотреть:
- p — вставить после позиции курсора;P — вставить перед позицией курсора;
- u — отменить последнее действие;
- . — повторить еще раз последнее действие;
- U — отменить последнее действие в текущей строке;
- /шаблон — искать вхождение;
- %s/шаблон/заменить — заменить первое слово на второе;
- n — продолжить поиск вперед;
- N — продолжить поиск назад;
С основными командами разобрались. Но у нас есть еще командная строка Vim, которая сама по себе тоже представляет огромный интерес.
Vim при переводах текста, или для чтения английской документации
Итак, чтобы можно было успешно читать и переводить документацию на английском языке, нужно ИМХО всего 3 вещи:
- Редактор.
- Переводчик.
- Проверка орфографии
Если их удобно объединить, то можно получить хорошую среду, для перевода/чтения.
Что возьмем
Редактор мы естественно возьмем VIM хотя бы потому что статья так называется. Переводчик mueller консольная версия, работает так:
% mueller sex sex _n. 1> _биол. пол; the weaker sex слАбый пол, жЕнщины; the sterner (или stronger) sex сИльный пол, мужчИны; the sex _шутл. жЕнщины 2> секс 3> _at tr. половОй, сексуАльный; sex instinct половОй инстИнкт; sex intergrade гермафродИт
И орфографмометр: это spell в виме, словари скачаем с vim.org
Как настроим
Мне интересна возможность выпадающего списка, при наведением на неизвестное мне слово мышкой. Для этого, после долгого чтения манов (или гугленья) узнаем что с помошью команды system можно выполнить какое-то действие, вывод которой куда-либо записать. Короче, пишем где-нибудь в ~/.vimrc
function! MyBalloonExpr() return system("mueller ". v:beval_text) endfunction set bexpr=MyBalloonExpr() set ballooneval set balloondelay=100
Определили функцию MyBallonExpr которая будет формировать строку mueller и выполнять. Результат выполнения будет выдавать в «балоне» выпадающем окошке, через 100 миллисекунд.
Естественно вместо mueller вы можете поставить любую другую программу, которая переводит текст.
Рецепт для оч.умелых ручек
Если у вас нет консольной версии , но есть много энтузиазма, то можно поступить так:
- Идем на и забираем оттуда
- Извлекаем из полученного архива файл и кладем его, скажем, в
- Там же создаем файл со следующим содержимым:
#!/bin/bash # WORD=`echo $1 | sed -e 's/*/\L&/g;s///g'`; if ; then exit; fi; LINES=50; DICTIONARY="$HOME/dict/mueller-base.dict.dz"; # zgrep -aA$LINES '^'$WORD'$' $DICTIONARY | sed -e '/^$/d; 1s/^/ &/;/^/,$d' #
даем нашему новому консольному словарику право на исполнение:
$ chmod +x ~/dict/mueller-base.sh
и проверяем его работоспособность:
$ ~/dict/mueller-base.sh head
Для графической версии редактора (gvim) функция перевода в нашем ~/.vimrc должна будет выглядеть так:
function! MyBalloonExpr() return system("$HOME/dict/mueller-base.sh ". v:beval_text) endfunction set bexpr=MyBalloonExpr() set ballooneval set balloondelay=500
Примечание:
-
-
-
- Естественно, что функция работает только в gVim, зато выглядит красиво. Наведите курсор мышки на слово и оставьте его неподвижным секунду-две (поначалу, можно вообще убирать руку с мышки, позже приловчитесь).
- ограничивает количество выводимых строчек. Можете подобрать цифру под свой монитор.
- Рекомендую выставить миллисекунд. Да, помедленнее. Но мышка будет меньше цепляться за слова.
-
-
Для текстовой версии редактора (vim) придётся делать специальную функцию TranslateWord() и вешать её вызов на специальную функциональную клавишу, например
function! TranslateWord() let s:dict = "$HOME/dict/mueller-base.sh" let s:phrase = expand("<cword>") let s:tmpfile = tempname() silent execute "!" . s:dict . " " . s:phrase . " > " . s:tmpfile execute "botright sp " . s:tmpfile endfunction map <F9> :call TranslateWord()<CR>
Примечание:
-
-
-
- Это работает точно так же и в графической версии редактора (). Поэтому метод можно считать универсальным, но требует нескольких нажатий клавиш, и сплит-окно выглядит менее элегантно, чем подсказки.
- Открывшееся окно с переводом можно закрыть стандартным способом ( ). Ну, а если вы воспользовались советом выше и забиндили на клавишу предложенное пользовательское меню, то алгоритм работы будет совсем простой: смотрим перевод вернули как было.
- Этот метод использует временный файл
- Т.к. в этом методе нет необходимости в ограничении, чтоб подсказка помещалась на экран, то для можно увеличить лимиты, хоть до . Этот метод не имеет ограничений на количество выводимых строчек.
-
-
Красота требует настройки
Самая базовая и, вместе с тем, одна из самых важных модификаций для программы, в которой вы будете проводить более 90% своего рабочего времени — внешний вид. Если вы пользуетесь терминальным Вимом и уже настраивали консоль, то эти изменения должны отобразиться и на самом редакторе, но можно пойти и дальше. Начнём с выбора темы.
Так наш подопечный (MacVim) выглядит сейчас:
Выбор темы
Для Вима силами волонтёров было написано немеренно готовых тем. Из большинства популярных редакторов их давно уже всех портировали. Как по мне, главная отличительная особенность Sublime Text — его тема , которую мы сейчас вероломно апроприируем.
Улучшенная строка состояния
Теперь давайте настроим наш status bar. Основная идея состоит в том, чтобы красиво показывать важную информацию по аналогии с tmux и панелями в WM на экране, касающуюся редактирования текста. Для этого давайте поставим :
Про Powerline мы поговорим далее, но главное, чего мы этим добьёмся, — секции строки состояния будут выделяться не прямоугольниками, а стрелками. Про Keymap мы поговорим в секции про интеграцию русского языка, но эта комманда просто скроет его индикатор из строки статуса (аналог останется в строке команд). Символ — это красивая альтернатива «ln», но также мною был опущен процентный показатель конца файла, ибо мне он показался излишним.
Вид Airline по умолчанию:
Вид после нашего вмешательства:
Шрифт и иконки
Как видите, мы сделали только хуже. Проблема заключается в том, что вам нужно установить в ваш терминал или gui шрифты с поддержкой . Для первого воспользуйтесь настройками самой консоли, а для второго это командой:
Но не спешите сейчас ставить полюбившийся вам шрифт из того списка. Во-первых, подобных шрифтов в природе больше и их можно патчить самому. Например, мой любимый — это , который поддерживает лигатуры (о них можете почитать там же). Во-вторых, есть ещё один отличный плагин , который добавляет в Airline и Nerdtree (файловый проводник) удобные иконочки.
Но и они не работают.
И подключим его так (в GUI. И да, «фура» тут намеренно):
Теперь все наши элементы кастомизации должны встать на место:
Стандартные опции
Таким образом мы осветили самые важные аспекты кастомизации внешнего вида Вим. Подробнее про работу этих плагинов можно почитать либо в их мануалах (через команду ) или на их страницах на гитхабе (ищутся в Гугл по имени из списка плагинов). Далее будут указаны другие полезные команды, а после этого мы перейдём к следующей большой теме:
Creating a document with Vim
To create a document and start editing it, just run the vim command followed by the file name:
When executing the command above, the “my_file” file will be generated (the extension hasn’t been indicated but can optionally be defined, i for example, by typing: vim my_file.txt ).
An editor, where writing the content of the document, will immediately open.
Once you open the document, start writing the content. Once you have finished writing, press «Esc» and then type «: wq». Press «Enter» and your file will be saved in the path where you started the command (the meaning of «: wq» will be explained later).
This is the easiest way to use Vim as a text editor, but this tool has much more potential to show! !
Использование Gvim
Теперь Gvim установлен. Давайте быстро посмотрим, как его использовать. Чтобы создать новый файл с именем «abc.txt», введите:
$ gvim abc.txt
Теперь откроется новое окно с символами тильды, а имя файла будет указано вверху, как показано здесь:
По умолчанию, когда файл открывается в Vim, мы должны нажать кнопку вставки или клавишу «i», чтобы вставить текст в файл.
Мы также можем открыть несколько файлов и вкладок в Gvim, используя параметры меню «Файл», как показано здесь:
Мы также можем изменить цветовую схему из меню «Правка», используя «Правка -> Цветовая схема». Если нам нужен другой стиль шрифта, вы можете выбрать новый из меню «Шрифт» внутри меню «Правка». Чтобы изучить дополнительные возможности Gvim, используйте «Справка-> Обзор -> Начало работы» в разделе «Справка» или просто введите следующую команду в терминале:
$ vimtutor
Как работает
Текстовый редактор функционирует в 2 различных режимах, что дает новичку неплохой выбор. По умолчанию происходит запуск утилиты в командном режиме. Чтобы грамотно управлять программой, пользователю понадобятся символьные клавиши и команды, актуальные для предшественника vi.
Второй режим предполагает стандартное изменение текста. Если вы когда-нибудь использовали редактор nano, то особой разницы не заметите.
Как переключать режимы редактирования:
- Командный режим активируется нажатием на клавишу Esc.
- Стандартный режим редактирования активируется нажатием на клавишу i.
Чтобы максимально упростить работу с текстовым редактором vim, новичку рекомендуется пройти обучающий курс. Его можно найти непосредственно в самой программе. Это не займет много времени, но значительно улучшит навыки.
Для поиска обучающего урока необходимо ввести следующий текст:
Запомните данную команду на будущее, а пока продолжайте ознакомление с нашим материалом.
Как выглядит синтаксис редактора:
Если не указать конкретное имя файла, перед вами откроется пустой файл.
Обычно перемещение по документу осуществляется при помощи курсора, но некоторым пользователям больше нравится навигация клавишами. А именно:
- h – влево;
- j – вниз;
- k – вверх;
- l – вправо.
Если подобная навигация кажется вам совершенно неинтуитивной, перемещайтесь по текстовому документу привычным способом.
Дополнительные функции навигации:
- gg – в начало текстового документа;
- 0 – в начало строки;
- $ — к концу строки.
Опции текстового редактора:
- g – переключение в графический режим работы редактора;
- n – отказ от функции автосохранения;
- R – переключение в режим «только для чтения»;
- w – сохранение всех действий в отдельный файл.
Для лучшего понимания материала рекомендуется запустить текстовый редактор vim и повторить описанные действия на практике.
Как отредактировать файл
Для этого задайте в терминале:
Чтобы отредактировать нужный файл, нажмите i. Затем внесите свои коррективы, а по окончанию всех действий нажмите Esc. Далее нужно ввести :wq. Это будет значить, что пользователь произвел запись и вышел.
Как отредактировать более одного файла
Запустите текстовый редактор выше описанным способом и передайте имена требуемых документов в параметры vim. Общая конструкция:
Перед вами появится первый документ из указанного перечня. Чтобы переключить на второй файл, примените команду :n. Если хотите вернуться к предыдущему файлу, примените команду :N.
Важные нюансы в работе с программой
Данный редактор прекрасно поддерживает кириллицу, но не все так просто. Если кириллица будет включена в самой системе Линукс, команды редактора перестанут функционировать. А все потому, что они не адаптированы под русскоязычную раскладку клавиатуры. Что предпринять в таком случае?
Разумеется, для решения данного вопроса можно пойти самым логичным и элементарным путем – переключать раскладку клавиатуры каждый раз, когда нужно поработать в редакторе в командном режиме. Но, согласитесь, это вызывает много путаницы. Пользователю придется тратить свою концентрацию на лишние детали. Чтобы не усложнять себе жизнь, пойдем иным путем.
Откройте файл ~/.vimrc и добавьте в документ скопированный текст, указанный ниже. Сохраните изменения.
Следовательно, это позволит осуществить переключение раскладки клавиатуры посредством Ctrl+^. Напоминаем, что упомянутый алгоритм актуален для работы с редактором vim, запущенным в командном режиме.
Рассмотрим другие полезные команды редактирования текста:
- u – отмена последнего действия;
- <ctrl>-r – возврат отмененного действия;
- J – присоединение строки ниже (к текущей строке).
Заключение
В данной статье рассмотрены базовые опции и функции навигации текстового редактора vim.
Стоит отметить, что функционал программы очень богат, а потому нельзя ограничиться лишь основами редактирования текстовых файлов. Для подробного ознакомления с возможностями vim следует обратиться к обучающему интерфейсу, встроенному в программу.
Всего после нескольких сеансов работы с vim вы навсегда откажетесь от его менее удачных аналогов.
Перемещение в командном режиме
Когда мы находимся в командном режиме, мы можем быстро перемещаться от документа к документу. Клавиши со стрелками будут помогать нам перемещаться по документу, также как и клавиши h, j, k, l, которые в данном случае имеют такие же функции. Если вы когда-нибудь играли в Crawl, вам будет легко освоиться.
Дополнительные клавиши передвижений:
- e переместит вас прямо в конец слова;
- w переместит вас прямо на начало слова;
- b переместит вас обратно в начало слова;
- $ переместит вас в конец строки;
- (ноль) переместит вас в начало строки;
- G переместит вас в конец файла;
- gg переместит вас в начало файла.
Безусловно, есть много других способов перемещаться внутри файла, но приведенные здесь должны удовлетворять в большинстве случаях.
Вставьте шутку про штепсель
Главным оружием для настройки нашего друга явлются плагины. По сути дела, это просто отдельные файлы с кодом на VimScript, которые исполняются при загрузке вашего файла настроек (~/.vimrc или ~/.config/nvim/init.vim) командой source. Ручками скачивать всё это довольно больно, поэтому великие умы человечества придумали пакетные менеджеры… для Вима!
Главная задача пакетного менеджера — скачать указанные плагины с гитхаба, предоставить пользователю удобный интерфейс по управлению ими и, собственно, подключать их при загрузке Вима. Есть, конечно, минималистичные менеджеры по типу Pathogen (который занимается преимущественно только третьим), но мы настолько усложнять себе жизнь не будем.
Нашим подопечным сегодня выступит vim-plug. Но, прежде чем вы пойдёте его устанавливать, сначала нужно добавить пару строчек в ваш конфиг:
Эти команды вы чаще всего встретите в инструкциях по установке различных плагинов. Теперь давайте установим сам менеджер пакетов. Тут есть нужные команды для Vim и Neovim, но существует способ для его автоматического скачивания. Для этого добавьте следущие строчки в свой конфиг:
Тогда при следующем запуске Вима, менеджер будет автоматически установлен, но его команды работать не будут и вы увидите ошибку. Хочу также заметить, что у вас в системе должен стоять curl, а для Neovim нужно поменять на . Прежде чем вы перезапустите ваш редактор, предлагаю также добавить в настройки следущие строчки. Не забудьте изменить этот код для Neovim аналогично прошлому разу:
С этого момента у вас всё должно работать. Далее мы будем добавлять плагины меж этих строк по следующей схеме:
Слишком сложно…
Командная строка VIM
Командная строка Vim запускается в командном режиме нажатием двоеточия – ““. Здесь доступны команды для сохранения файла и выхода из редактора, настройки внешнего вида и взаимодействия с внешней оболочкой. Рассмотрим наиболее часто используемые команды редактора vim:
- :w – сохранить файл;
- :q – закрыть редактор;
- :q! – закрыть редактор без сохранения;
- :e файл – прочитать содержимое файла в позицию курсора;
- :r файл – вставить в содержимое файла в следующую строку;
- :r! – выполнить команду оболочки и вставить ответ в редактор;
- :set переменная=значение – установить значение переменной, например, tabstop=4, или set number, с помощью этой команды можно управлять многими аспектами работы vim.
- :buffers – посмотреть открытые файлы.
Со всеми основами разобрались, и вы теперь использование vim не будет казаться вам таким сложным. Но это еще далеко не все, этот мощный редактор может еще очень многое. Дальше мы рассмотрим несколько примеров использования vim, чтобы вам было легче справиться с новой программой.
Советы и рекомендации
Нумерация строк
Чтобы включить отображение номера столбца, используйте . По умолчанию показываются абсолютные значения номеров строк, относительные включаются посредством .
Переход к новой строке осуществляется посредством или . Все переходы запоминаются в лист переходов, для более подробной информации смотрите .
Проверка орфографии
Проверку орфографии в Vim можно включить с помощью:
set spell
Действие | Команда |
---|---|
следующая ошибка | |
предыдущая ошибка | |
предложения для исправления | |
добавить правильное написание | |
добавить правильное написание (на сеанс) | |
добавить неправильное написание | |
добавить неправильное написание (на сеанс) | |
повторить проверку орфографии во всем файле |
Совет:
- Чтобы включить проверку сразу для двух языков (например, английского и русского), добавьте в или и перезапустите Vim.
- Вы можете включить проверку орфографии для конкретных типов файлов (например .txt), используя плагин FileType и собственное правило для определения типа файла. Чтобы включить проверку орфографии для всех файлов, оканчивающихся на .txt, создайте файл и вставьте туда строку: . Далее, вставьте строку в файл или и перезапустите Vim. Или поместите строку в или и перезапустите Vim. Не забудьте отредактировать строчку (specifically ), чтобы включить соответствующие типы файлов для проверки орфографии.
- Чтобы включить проверку орфографии только для документов LaTeX (или TeX), добавьте в файл или и перезапустите Vim.
Запуск Vim по команде vi
Создайте для на .
Если вы хотите, чтобы при вводе запускался , то установите пакет AUR, который удалит и заменить его символической ссылкой на .
Возврат каретки DOS/Windows
Если вы видите последовательность в конце каждой линии, это означает, что вы редактируете текстовый файл, который был создан в MS-DOS или Windows. Дело в том, что в Linux для переноса принято использовать один символ новой строки (LR), тогда как в системах Windows/MS DOS для той же цели используется последовательность из двух символов: возврата каретки (CR) и новой строки (LR). Как раз эти символы возврата каретки и отображаются в виде .
Для удаления всех символов возврата каретки из файла, выполните:
:%s/^M//g
Обратите внимание, что здесь — управляющий символ, а не обычный. Чтобы ввести управляющую последовательность , нажмите .. Также вы можете просто установить пакет и исправлять файлы командой .
Также вы можете просто установить пакет и исправлять файлы командой .
Примечание: Другой простой способ заключается в изменении опции . Используйте для преобразования файлов с окончанием строки DOS/Windows в файлы с окончанием строки Unix. Для того, чтобы сделать обратное, просто используйте .
Пустое пространство в нижней части окон gVim
Когда используется оконный менеджер, настроенный на игнорирование размеров окна, gVim заполняет неиспользованные области окна стандартным фоновым цветом темы GTK.
Решение заключается в регулировании количества места, которое будет резервировать в нижней части окна gVim. Поместите следующую строку в :
set guiheadroom=0
Примечание: Установив значение 0, вы не сможете видеть горизонтальную полосу прокрутки внизу окна.
Что такое Vim
Vim — это специализированный текстовый редактор для программистов. Он предназначен для работы с большими объёмами кода без использования мыши.
Главная особенность Vim — два режима: режим написания текста и режим команд. В первом режиме вы как обычно пишете код, а во втором молниеносно управляете им. Режимы работают параллельно друг другу и меняются по нажатию клавиш.
Главная сила — в огромном количестве клавиатурных команд, которые помогают быстро редактировать текст. Например:
dd — удалить строку, на которой вы сейчас стоите;
10dd — удалить сколько-то строк, в этом случае 10;
cw — заменить слово на другое;
w, b — курсор вперёд или назад на одно слово;
A — дописать текст в конец строки;
I — Начать вписывать текст в начало строки;
U — вернуть изменения в строке (например, если случайно стёр);
: 10,25 w temp — сохранить кусок документа в файл temp. Конкретно здесь сохранится кусок с 10-й по 25-ю строку.
И таких команд несколько десятков. Всё построено вокруг того, чтобы делать все текстовые дела молниеносно и принципиально без участия мыши.
Команды Vim, разложенные на клавиатуре
Вывод
В этом руководстве мы узнали об установке Gvim в Ubuntu 20.04. Хотя Gvim — это графическая версия, и многим новым пользователям Linux, особенно тем, кто переходит с Windows, она покажется более удобной. Однако здесь есть и недостатки. Причина в том, что вы не можете использовать Gvim, если ваш сервер работает в консольном режиме. Кроме того, если вы управляете удаленной машиной с ограниченными правами, вы не можете использовать там Gvim. Поэтому мы рекомендуем вам научиться использовать версию Vim без графического интерфейса. Мы надеемся, что вы нашли эту статью полезной. Ознакомьтесь с другими статьями Linux Hint, чтобы получить советы и руководства.