Ubuntu vim не работает esc

Обновлено: 07.07.2024

Очевидно, что Vundle не был установлен должным образом. Как заставить Вундла работать?

Я устанавливаю Vundle по шагу его домашней страницы github . Я установил git, curl и клонировал vundle в свой каталог. В то время как я столкнулся со следующими проблемами: Error detected while processing C:\Program Files\Vim\_vimrc: line 21: E518: Unknown option: $VIM/vimfiles/bundle/vundle/ line.

Платформа-Mac OS - 10.8.5 Вот мой файл .vimrc, а затем ошибки, которые я получаю. * Мой репозиторий git установлен правильно ----- * git config-глобальный core.editor vim (это, когда сидел в своей .bashrc следующее) ** set-o vi (устанавливается в my. bashrc ) .vimrc файл set nocompatible be.

Vundle устанавливается в

Итак, эта строка

это путь к папке, содержащей все, что делает репозиторий Git репозиторием Git. На самом деле вы не можете ожидать, что Vim найдет там полезные скрипты.

У меня была эта проблема с использованием git commit или crontab -e

Эти команды, казалось, вызывали vi вместо vim

установка этого в моем .bashrc исправила это

Я просто столкнулся с этой проблемой и решил ее после прочтения

Это может произойти, если вы вызовете редактор vi явно (чтобы избежать каких-либо псевдонимов) с помощью /usr/bin/vi вместо vim. Обычный "git commit" сделал бы это для меня, прежде чем я настроил его на использование vim вместо этого. (git config --глобальный core.editor "vim")

У меня возникли проблемы с тем, чтобы заставить Vundle for Vim работать (я нахожусь на Ubuntu 14.04). Вот соответствующая часть из моего .vimrc 4 For Vundle$ 5 filetype off$ 6 set rtp+=

/.vim у меня есть: папка с именем 'bundle' с каталогом Vundle.vim, который я скачал из учебника. В моем

/.vimrc году у меня есть: set.

Я столкнулся с той же проблемой. После перепробовал все упомянутые методы, рекомендованные другими, и потерпел неудачу. Наконец, я обнаружил, что на нашем сервисе Ubuntu 14.04.1 VIM не установлен по умолчанию!

Трудно понять эту проблему, так как VIM пользователей, таких как я, просто использовали для ввода "vi" вместо "vim", и он показывает страницу приветствия "VIM - improved VI".

Поэтому убедитесь, что вы установили VIM:

Или просто наберите:

Если он не установлен, сделайте так, как он рекомендует:

/.gitconfig хранит настройки

как @romainl сказал мой vundle установлен в .vim/bundle/Vundle.vim/ , значит нужно менять линии : set rtp+=

Похожие вопросы:

Поэтому я выдергиваю свои волосы . Я попытался установить vundle на Mac OS X Lion(10.7.4), но безуспешно. Сначала я попробовал его на встроенном vim он дает мне следующую ошибку: Обнаружена ошибка.

Привет, я пытался настроить vim на ubuntu. Все пакеты, кажется, устанавливаются нормально. Однако если установить colorscheme через vundle, а затем использовать имя colorscheme, то он, похоже, не.

У меня есть следующие пакеты vim, установленные на Linux Mint Debian Edition: vim vim-common vim-tiny vim-runtime vim-doc У меня уже были установлены вышеперечисленные пакеты, и после установки.

Я устанавливаю Vundle по шагу его домашней страницы github . Я установил git, curl и клонировал vundle в свой каталог. В то время как я столкнулся со следующими проблемами: Error detected while.

Платформа-Mac OS - 10.8.5 Вот мой файл .vimrc, а затем ошибки, которые я получаю. * Мой репозиторий git установлен правильно ----- * git config-глобальный core.editor vim (это, когда сидел в своей.

У меня возникли проблемы с тем, чтобы заставить Vundle for Vim работать (я нахожусь на Ubuntu 14.04). Вот соответствующая часть из моего .vimrc 4 For Vundle$ 5 filetype off$ 6 set.

/.vim у меня есть: папка с именем 'bundle' с.

/.vim/bundle/Vundle.vim и это все. Вот наша елка из компакт .vim ├── bundle │ └──.

Я установил Vundle (git cloned) vim Vundle package manager. Похоже, я даже не смог установить ни одного плагина. Я хотел бы удалить его и начать все заново с vim. Есть предложения?

Как выйти из редактора VI?

Как выйти из Vi? Именно такой вопрос мне чаще всего задают пользователи, впервые запустившие этот замечательный редактор :) Сразу ответ: Esc Esc ZQ или Esc Esc :qa! если ничего сохранять не нужно, Esc Esc ZZ или Esc Esc :w!q если содержимое надо сохранить. Два раза Esc в данном случае позволит вам выйти в нормальный режим из любого состояния редактора.

Нет, редактор VI, а точнее VIM (Vi IMproved), и вправду замечательный, но уж очень необычный. В этой небольшой статье вы не найдете макросов, продвинутого редактирования, настройки и много чего другого. Здесь только самые полезные команды и основы редактора.

Любой админ должен знать хотя бы основы работы в VIM, потому что в большинстве случаев - это единственный доступный редактор в однопользовательском режиме на упавшей *nix системе. Более того он замечателен уже хотя бы тем, что он есть в установке по-умолчанию почти в любом *nix и, зачастую, используется как основной редактор. Например для правки passwd файла во FreeBSD используется команда vipw.

Для того чтобы освоить VIM необходимо понять одну простую вещь: мышка, клавиши управления курсором - это зло, ухудшающее эффективность работы с редактором. Все операции с текстом в VIM можно (и нужно) выполнять на основном блоке клавиатуры.

Редактор может находиться в трех режимах и изначально находится в так называемом "нормальном" режиме. В него же можно выйти из любого другого режима нажатием кнопки Esc.

Из нормального режима, в котором производятся операции над текстом и перемещение, можно войти в режим "вставки", в котором и набирается собственно текст. Для этого есть следующие кнопки:

i - вставить текст до курсора
I - вставить текст с начала строки
a - вставить текст после курсора
A - вставить текст с конца строки
o - вставить новую строку ниже
O - вставить новую строку выше
s - замена текущего символа и остаться в режиме вставки
S - замена текущей строки
r - Заменить текущий символ и вернуться в нормальный режим
R - Заменить несколько последовательно расположенных символов

Мощь VIM в использовании модификаторов команды. Перед любой командой перемещения можно и, зачастую, нужно использовать мультипликатор. То есть 6w - это на 6 слов, а 77j - на 77 строк вниз.

Нужно заметить, что модификаторы часто можно использовать и при других операциях, как например 5S - заменить 5 последующих строк.

Перемещение по тексту.

Если учесть, что стартовая позиция для правой руки - клавиши hjkl, то выбор клавиш становится вполне понятным:

Управление текущей позицией

h - влево (указательный палец сдвигается влево)
j - вниз
k - вверх.
l - вправо.

по строкам

^ или 0 - начало строки
$ - конец строки
w (word) - к началу следующего слова
e (end) - к концу текущего слова
b (begin) - к началу текущего слова и далее к предыдущим словам
G (Go) - переход на строку (по умолчанию на последнюю)

по экрану

H (High) для перехода в верхнюю строку экрана
M (Middle) для перехода в среднюю строку экрана
L (Low) для прехода в нижнюю строку, показанная на экране

по тексту

< - предыдущий абзац
> - следующий абзац
( - предыдущее предложение
) - следующее предложение
ctrl-b (backward) перемещение на один экран назад
ctrl-f (forward) перемещение на один экран вперед

Закладки

На любую строку можно поставить метку m[A-Z,a-z] и вернуться в любое время на неё '[A-Z,a-z] (то есть одинарная кавычка и название метки).

Операции над текстом

- Смениить регистр текущего символа (или стольких, сколько указано в мультипликаторе)
d - Удалить + мультипликатор, например: d$ - всё до конца строки, d8w - 8 слов, d3h - 3 символа вправо, d1G - всё к началу текста.
dd - удалить строку (55dd - 55 строк)
Если быть точнее, то операции удаления - это вырезание текста в буфер, то есть его можно потом вставить.

y (yank) - копировать в буфер (y5w - копировать 5 слов)
yy - копировать в буфер строку (2yy - 2 строки)
p (paste) - вставить из буфера (2p - вставить 2 раза)

Визуальный режим выделения текста

v (visual) - посимвольный режим выделения
V - построчный режим выделения
Ctrl-V - прямоугольный блок текста
Над выделенным фрагментом можно производить все обычные действия.

Undo и redo

u (undo) - Отменить последнее изменение (7u - 7 изменений)
ctrl-r (redo) - Повторить изменение
:earlier 40m - вернуть текст таким, как он был 40 минут назад
:later 20s - передвинуться вперед на 20 секунд по временной шкале изменения текста
:undolist - список правок

Выход, запись изменений

Возвращаясь к теме статьи:
:w (write) запись файла на диск
:q (quit) выход из редактора, если изменения не нужно сохранять, то добавьте !


Всем привет! Каждый пользователь Linux наверняка сталкивался с редактором Vim. И vim довольно таки специфичный, в отличие от других редакторов (Nano, micro).

Он довольно таки сложен для понимая (пока не привыкнешь). Здесь нет привычных меню, горячих клавиш, а лишь просто командная строка в которую не ясно что писать. И ты даже не знаешь как выйти из него


Привет мемасики из серии: Не могу выйти из Vim

Но в этом гайде я покажу как установить и настроить Vim для комфортной работы. Присаживайтесь по удобней, а мы начинаем!

Установка:

Самое простое, установка

Устанавливается vim в зависимости от вашего дистрибутива (Vim есть даже для Windows, но тут я ничего не буду писать про установку в него). Внизу будут команды для установки:

  • Debian, Ubuntu:
  • Fedora, CentOS:
  • ArchLinux (BTW i use ArchLinux)
  • Cent OS:
  • sudo zypper install vim
  • Mac OS (да, да):
  • Вообще он из коробки идёт, но вдруг у вас его нет

И так, после установки надо создать в папке с пользователем файл .vimrc (это будет конфиг (файл конфигурации Vim :))

Готово! Переходим к следующему этапу

Работа с Vim-ом:

И так, чтобы зайти в Vim, напишите в терминале магическое слово:

Далее вводится команда. Команд в Vim великое множество, вот небольшой список:


Голова идёт кругом да?

Но на самом деле всё это учить нужды нет. Самые основные команды я вам сейчас покажу

Иииии всё. Да всё. Большего вам не понадобится, а если понадобится, то всё очень быстро нагугливается

Кастомизация Vim-а:

И вот самое интересное и классное, кастомизация. Vim можно переделать до неузнаваемости, и для этого нужны плагины

Для установки плагинов обычно используется пакетный менеджер, созданный специально для Vim. Я лично использую пакетный менеджер Vundle. Для его установки нужно ввести следующию команду:

После этого нужно добавить в конфиг vim-а следующие строчки

Теперь открываем Vim и вводим команду

Поздравляю, вы установили Vundle!

Чтобы устанавливать другие плагины, нужно добавлять в конфиг vim-а строчку

Список плагинов для кастомизации:

Изменяет дефолтный статус бар на человеческий. См картинку


Статус-бар внизу если что 🙂

Coc.nvim

Добавляет авто дополнение в код


— и вы готовы работать с JavaScript, причем у вас будет самое лучшее автодополнение из тех, с которыми вам приходилось работать.

Чтобы добавить ваш любимый шрифт в Vim надо прописать в конфиге следующие:

Есть куча тем для Vim (гугл в помощь). К примеру мне приглянулась тема Darcula, для её установки я пищу:

Завершение, и мой конфиг 🙂

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

И напоследок мой конфиг для кодинга на Python

Результат моего конфига:


Мне нравится!


На первый взгляд Vim выглядит очень и очень странно. Знакомство с ним сопровождается страшными мучениями, когда ты просто не можешь понять, что происходит. Редактор либо вообще не реагирует на нажатия клавиш, либо ведет себя крайне неадекватно. Ты пишешь слово door, а вместо этого Vim переходит на новую строку и вставляет or. Ты стираешь эту галиматью и снова пробуешь что-то написать — и, о чудо, на экране действительно появляется текст.

А потом его опять начинает глючить.

Спустя несколько попыток разобраться, как это работает, и бесчисленное множество матерных слов ты идешь в интернет и узнаешь, что Vim — двухрежимный редактор. Писать текст здесь можно только в режиме ввода (INSERT), для перехода в который следует нажать кнопку i или Insert.

Основной же режим, для выхода в который используется Esc, здесь предназначен для ввода, как тебе на первый взгляд кажется, хоткеев. Причем состоять они могут всего из одной клавиши: w — передвигает курсор к следующему слову, 0 — в начало строки, $ — в конец строки, A переводит курсор в конец строки и переключает редактор в режим ввода, u — аналог Ctrl-Z в нормальных редакторах.

Погуглив еще немного, ты обнаруживаешь, что есть также «хоткеи» из двух и более последовательных нажатий. Такие, как, например, dd, который удаляет всю строку, и dw, удаляющий слово, gg и GG, которые перемещают курсор в начало и конец документа.

Немного привыкнув, ты уже можешь кое-как прыгать между режимами и вводить эти странные хоткеи — они даже начинают казаться тебе удобными, но один вопрос все-таки тебя не покидает:

— Зачем здесь эти режимы?!

«Хоткеи» Vim действительно удобны благодаря своей лаконичности, но разве необходимость переключаться между режимами не убивает все их удобство? Разве не проще нажимать пусть и требующие больше движений горячие клавиши в нормальных редакторах, чем мотаться взад-вперед между режимами? Да, может быть, сорок лет назад, когда на клавиатурах не было Ctrl и Alt, это и было оправданно, но сейчас-то зачем?

Так и заканчивает знакомство с Vim среднестатистический пользователь. Некоторое время он, конечно, еще потратит на то, чтобы найти выход, но затем забудет, как страшный сон, и вернется к своему любимому Sublime. А уж в условиях сурового сервера и nano сойдет.

Почему так происходит? По одной простой причине: для работы с Vim нужна совсем другая система мышления, переключиться на которую мало кому удается сразу.

Философия Vim

Чтобы понять, почему Vim именно такой, какой есть, и чтобы научиться использовать его эффективно, необходимо запомнить две простые истины.

Истина первая. Разделение режимов Vim имеет абсолютно логичный утилитарный характер. В одном режиме ты пишешь текст, во втором редактируешь. В современных редакторах эти границы размыты, мы привыкли писать и тут же редактировать, стирать, снова писать. В режиме ввода Vim позволяет это делать, но в очень ограниченных пределах: написал не ту букву — стер, написал другую. Все остальное — в режиме редактирования (основной режим).

Истина вторая. «Хоткеи», доступные в режиме редактирования, — это вовсе не хоткеи, а мощная система команд с аргументами, циклами и регистрами. При использовании Vim ты ни в коем случае не должен мыслить стандартным образом: сейчас я тыкну мышкой на том слове, потом нажму Backspace столько раз, сколько потребуется, чтобы его стереть, напишу другое слово, а потом перемещу курсор обратно. Вместо этого ты должен отдать редактору команду: замени вон то слово на это и верни меня обратно.

Чтобы проиллюстрировать этот принцип, взглянем на простой пример. Допустим, ты просматриваешь только что написанный текст и решаешь, что в абзаце, на котором в данный момент расположен курсор, последнее предложение лишнее и его следует удалить.

Первая идея, которая придет тебе в голову, — взять мышку, выделить последнее предложение, выбрать в меню «Вырезать» или нажать Del. Звучит просто и логично, но что ты скажешь про это?

Нажатие этих трех кнопок сделает то же самое. Я очень удивлюсь, если на это у тебя уйдет больше пары секунд.

Что они значат? Давай разберемся:

  • > — команда перемещения, перебрасывает курсор в конец абзаца;
  • d — команда изменения, а именно удаления (d — delete);
  • ( — команда перемещения, перебрасывает курсор в начало предыдущего предложения.

Так как команды перемещения могут быть аргументами команд изменения, вся команда на человеческом языке звучит так: > — переместить курсор в конец абзаца, а затем d( — удалить все символы до начала предыдущего предложения. А если совсем просто: удалить последнее предложение текущего абзаца.

Команды можно повторять, например: 3> — переместить курсор на три абзаца вперед, >d2( — удалить два последних предложения в абзаце, 3J — объединить следующие три строки в абзац (J — Join), 3w — перейти на три слова вперед (w — word), 50G — перейти к пятидесятой строке (G — Go).

У Vim хорошая документация, просто набери :help и следуй инструкциям

У Vim хорошая документация, просто набери :help и следуй инструкциям

Другой пример: ты опять же просматриваешь готовый текст и замечаешь слово Windows, которое лучше заменить на Linux. Решение в лоб — поставить курсор перед ним, нажать клавишу Del нужное количество раз, затем написать другое. Решение в затылок — переместить курсор на слово, нажать извращенную трехпальцевую комбинацию замены слова и написать другое. Правильное решение:

  • /Win — команда перемещения с помощью поиска (в данном случае ищем Win);
  • cw — команда замены (c — change) с аргументом «слово» (w — word);
  • Linux — новое слово.

Чтобы просто удалить слово, можно использовать такую команду: /Windw (dw — delete word). Обрати внимание: в отличие от «поиска и замены» тебе не обязательно писать слово целиком. Более того, ты можешь сделать то же самое другими методами. Например, если слово Windows второе в третьем предложении, заменить его можно так: <3)wcwLinux.

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

Нуб в этой ситуации будет действовать прямолинейно: промотает код, найдет в нем нужный метод, тыкнет мышкой, вставит private перед именем метода, а потом промотает обратно. Более продвинутый разработчик использует хоткей для быстрого перехода к декларации метода, он может даже использовать другой хоткей, чтобы быстро сделать метод приватным, а самый продвинутый еще и воспользуется хоткеем для возврата.

Пользователь Vim сделает так:

  • gd — переходим к определению функции или метода (gd — go definition);
  • i — переключаемся в режим ввода;
  • private — слово-модификатор и пробел;
  • Esc — возвращаемся в обычный режим;
  • `` — прыгаем туда, где были до перехода (возвращаем курсор обратно).

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

Это опять же одна из стандартных функций редакторов, но Vim может сделать ее гораздо более мощной. Как ты уже должен знать, команды модификации текста принимают в качестве аргументов команды перехода, а это значит, что прыжок к метке тоже можно использовать в качестве аргумента. К примеру, удалить текст, начиная от текущего положения курсора до метки «a»: d`a.

К слову, команды удаления Vim не удаляют текст безвозвратно, а помещают его в буфер (в терминологии Vim — регистр), поэтому стандартными средствами здесь можно делать вещи, для которых в других редакторах потребовался бы отдельный хоткей. Например, менять две строки местами: ddp. Команда dd удаляет текущую строку (после чего курсор перемещается на следующую), p (paste) — вставляет текст из регистра под текущей строкой.

Вместо удаления строку можно просто скопировать с помощью yy (y — yank), а затем вставить с помощью все той же команды p. Объединим эту возможность с повторением команд и получим быстрый способ вставки множества одинаковых строк: yy10p.

Нарисовать линию ---------- можно так: вводим символ - , затем переключаемся в обычный режим с помощью Esc и вводим команду x10p (x вырезает символ под курсором, 10p вставляет его десять раз).

Команда . выполнит предыдущую команду. И да, ее тоже можно зациклить: 3. — повторить предыдущую команду три раза. Команда qa начнет запись макроса с именем «a», остановить запись можно нажатием q. Выполнить макрос: @a.

Vim поддерживает огромное количество других команд, и первое время ты будешь теряться в том, как и что здесь работает. Однако большая часть функций тебе не понадобится. Ты должен заучить базовые команды модификации текста (удаление, вставка и так далее) и базовые команды перемещения (прыжки по словам, строкам, абзацам, блокам кода, меткам и прочему). Просто объединяй их, и ты сможешь сделать практически все в несколько нажатий кнопок.

Командный и визуальный режимы

Называя приведенные в предыдущем разделе комбинации клавиш командами, я нарочно отошел от стандартной терминологии Vim, чтобы как можно более четко объяснить, как это все работает. На самом деле в Vim есть отдельный командный режим, больше похожий на классическую командную строку, и он позволяет делать еще более продвинутые вещи.

Продолжение доступно только участникам

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Вариант 2. Открой один материал

Евгений Зобнин

Редактор рубрики X-Mobile. По совместительству сисадмин. Большой фанат Linux, Plan 9, гаджетов и древних видеоигр.

Читайте также: