LINUX.ORG.RU

Как выйти из vim?

 


4

1

Что же, пора окончательно закрыть этот вопрос. По этому поводу уже написано множество статей и заметок, пусть будет ещё одна.

Как все начиналось — вы, сидя в терминале, вдруг решили открыть, к примеру, sudoedit. Внезапно, на весь экран открывается какой-то странный текстовый редактор. Что делается первым делом - конечно же, Ctrl-C, и это не срабатывает! Остаётся всего один способ — дернуть компьютер из розетки, и больше никогда не вводить это команду.

Но, возможно, есть и другой способ? Попробуем разобрать несколько моментов.

  1. Собственно выход из vim.
    Тут всё просто:
    1. Нажимаем ESC.
    2. Решаем, нужно ли сохранить изменения.
      1. Если нет, то набираем ZQ (обязательно верхний регистр). Другой способ: набираем :qa! и жмём Enter.
      2. Если да, то набираем ZZ (обязательно верхний регистр). Другой способ: набираем :wqa и жмём Enter.
    3. Проблема решена!
  2. А может не стоит уходить так быстро? Возможны вы хотите стать вимером? Тогда возможно вам стоит сделать следующее:
    1. Открыть и прочитать vimtutor. Просто наберите команду в терминале vimtutor ru и изучите основы, там не долго. Если вам понравилось — продолжайте дальше, если нет — то vim не для вас.
    2. Прочитать официальную документацию — в vim наберите команду :help user-manual, и изучите, там содержится описание почти всего, что есть в vim.
    3. Недавно тут была статья про vim, тоже можно изучить.
    4. Если хочется именно на русском, то могу посоветовать книгу.
  3. Заключение. Если после прочтения vimtutor и официальной документации вы решили продолжить использовать vim - то добро пожаловать в ряды вимеров! Если нет, то теперь вы просто знаете способ выхода из этого текстового редактора.

Надеюсь, что моя заметка будет полезна всем начинающим пользователям этого прекрасного(или ужасного?) текстового редактора.

★★☆

Проверено: cetjs2 ()
Последнее исправление: Werenter (всего исправлений: 7)

Я vi/vim вообще не ставлю.

В /etc/src.conf прописываем:

WITHOUT_VI=true

В конфигурационном файле шелла задаём переменную окружения:

setenv	EDITOR	ee # или nano — кому как нравится
iZEN ★★★★★
()

Одной из причин, почему понравился vim/gvim — быстро работает с большими файлами (500M, 1G) там, где пора применять grep, но ещё хочется видеть строки вокруг, например, логи — перемещения и поиск по регекспам. А если освоить, например,
https://ru.wikibooks.org/wiki/Vim
то дальше можно кастомизировать под себя удобно и, даже, увлекательно.

Neksys ★★★
()

Насколько vim позволяет кастомизировать себя можно оценить по портированию рогалика внутрь vim

porting of Rogue-clone II for Vim https://github.com/katono/rogue.vim

This Vim plugin is a game that is porting of Rogue-clone II. You can enjoy the game on your Vim run :Rogue moving h j k l. This rogue-clone is message-separated, and so you can make your original message file.

rogue.vim requires Lua-enabled Vim. Check :echo has('lua') returns 1 and :echo luaeval('_VERSION') returns Lua 5.1 or later

http://luabinaries.sourceforge.net/download.html

vim-plug: https://github.com/junegunn/vim-plug

Plug 'katono/rogue.vim'

:so $MYVIMRC
:PlugInstall

:Rogue

Neksys ★★★
()
Ответ на: комментарий от Neksys

К примеру, в логах увидеть все одинаковые UID (последовательность цифр/букв):

  1. подводим курсор
  2. нажимаем на клавиатуре [Shift]-3 (т.е. символ#)
  3. подсветятся все одинаковые буквосочетания, как под курсором.
  4. быстро перескакивать по ним можно нажимая n/N
  5. пара кнопок: # – и не нужно ломать глаза, выискивая одинаковые UID`ы

Для этого, в .vimrc желательны настройки:

" игнорировать регистр при поиске
set ic
" подсвечивать поиск
set hls
" использовать инкрементальный поиск
set is

Neksys ★★★
()
Последнее исправление: Neksys (всего исправлений: 1)

:qa!

Что-то на клингонском

utanho ★★★★★
()

Ну вот чево ты наделол?!…

Автор вима как прочитал твою заметку, так и отчалил

Press : to pay respects

aol ★★★★★
()
Ответ на: комментарий от utanho

А по ссылкам на LOR`е по-прежнему не ходят )))

Предлагаю не путать «тёплое» и «мягкое».
Редактировать в vim очень удобно, если знать «что» и в каком случае жать, и что должно получиться (как и в emacs): перемещения по тексту, обработка кусков текста регеспами и/или внешними программами/фильтрами, взаимодействие с shell:
```
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>
```
Новичку сильно не хватает таких элементарных знаний.
НО, если потратить немного времени и ячеек памяти, то в результате можно настроить себе любые удобства, которых в некоторых известных редакторах нет, даже, с плагинами.

https://ru.wikibooks.org/wiki/Vim

vim же почти как «фреймворк для создания инструментов редактирования текстов», при своих небольших, по современным меркам, размерах.

Neksys ★★★
()
Последнее исправление: Neksys (всего исправлений: 1)
Ответ на: комментарий от Neksys

В качестве инструмента программирования в vim можно использовать не только vimscript (статья habr), но и другие языки программирования, замапить вызов функций на функциональные кнопки и забыть как оно реализовано, до следующего приступа желания что-нибудь улучшить.

Neksys ★★★
()
Ответ на: комментарий от dmitry237

Изначально $VISUAL для full-screen-редакторов. Переменная $EDITOR имеет смысл для всяких телетайпов и терминалов с ограниченной функциональностью.

типа

EDITOR=ed
VISUAL=vim
Сейчас это одно и то же, по сути, но пуризма ради :)

gns ★★★★★
()
Последнее исправление: gns (всего исправлений: 1)
Ответ на: комментарий от gns

Тот же Forth на голом железе может стандартно предоставить вполне себе визуал редактор текстовых блоков (64 столбца х 16 строк) т.е. по 1024 байт на экране.

Neksys ★★★
()
Ответ на: комментарий от Neksys

Это ж не сам форт как язык, а какая-то конкретная форт-система, разворачиваемая на голом железе.

gns ★★★★★
()
Ответ на: комментарий от Neksys

Вопрос не в том, какаие плагины бывают, а в том, на чем их пишут кроме вимскипта.

gns ★★★★★
()
Ответ на: комментарий от dmitry237

Ну, типа установить редактор без шелл-эскейпов для параноиков :) Ну можно, да.

gns ★★★★★
()

Я иногда выхожу с помощью удара топором по вводу в дом, но встречаю недопонимание со стороны соседей, почему-то.

targitaj ★★★★★
()

Собственно выход из vim.

Оба два варианта писец как интуитивны, очевидны и понятны сразу, да.

Я ненавижу vi\vim и всё что с ним связано. Это уродливое инопланетное изделие должно было сдохнуть десятки лет назад, не понимаю причины почему оно до сих пор живёт. Возможно это заговор разумных кальмаров.

Jameson ★★★★★
()
Ответ на: комментарий от Jameson

не понимаю причины почему оно до сих пор живёт

Возможно потому как ничего лучше и удобнее не придумали.

Возможно это заговор разумных кальмаров

… Вспомнились «осминожки со второго этажа» почему-то ))

bugfixer ★★★★★
()
Ответ на: комментарий от bugfixer

О, а вот и первый кальмар в волнении замахал ощущалами. «Удобнее» эти «режимы» и незапоминаемые заклинания-кракозябры могут быть только кальмару, у которого мозги в щупальцах. А, да, есть ещё «нетакусики», ощущающие себя кальмаром. Они осиливают вим потому что «не такие», и потом всюду хотят эту инопланетные хоткеи, например в файрфоксе...

Jameson ★★★★★
()
Ответ на: комментарий от Jameson

О, а вот и первый кальмар

Пусть будет кальмар. Из классики:

Avi: Should I call you Bullet? Tooth?

Bullet Tooth Tony: You can call me Susan if it makes you happy.

в волнении

Вы меня умиляете ;) Да мне глубоко по(сами додумайте) что Вы там обо мне и vim’е думаете ))

замахал ощущалами.

См выше.

«Удобнее» эти «режимы» и незапоминаемые заклинания-кракозябры могут быть только кальмару

Или людям которые программируют 8x5.

у которого мозги в щупальцах

А ещё, например - у меня займет ровно 2 (3, если shift учитывать) keystrokes чтобы скопировать строчку. Продолжайте мышевозить в notepad - лично я ничего против не имею. И ещё раз - см выше.

А, да, есть ещё «нетакусики»

Не знаю, о ком Вы сейчас.

bugfixer ★★★★★
()
Ответ на: комментарий от krasnh

А тем временем, вокруг vim образовалась уже целая субкультура (vim-like)

Воот... Фанатично-религиозное, порождающее субкультуры изделие. Текстовым редактором просто либо пользуются, либо нет, а тут культы какие то, секты... А я пожалуй продолжу использовать nano в консоли и какой нибудь «офис» в гуях, совершенно не принципиально какой.

Jameson ★★★★★
()
Ответ на: комментарий от bugfixer

Вы меня умиляете ;) Да мне глубоко по(сами додумайте) что Вы там обо мне и vim’е думаете ))

А вы смешной. Пост об обратном говорит, практически вопиёт даже.

Или людям которые программируют 8x5.

16х48. Вы просто жить не пробовали? Попробуйте, вам понравится. С вашим режимом можете не успеть...

у меня займет ровно 2 (3, если shift учитывать) keystrokes чтобы скопировать строчку

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

Продолжайте мышевозить в notepad

Продолжайте делать предположения. Дышите глубже, равномернее.

Jameson ★★★★★
()
Последнее исправление: Jameson (всего исправлений: 2)
Ответ на: комментарий от Jameson

16х48.

Марс? Что-то ещё?

Вы просто жить не пробовали? Попробуйте, вам понравится. С вашим режимом можете не успеть…

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

А я вот это всё не считаю как то.

Я тоже. Просто мне нужен инструмент позволяющий редактировать код быстрее чем я думаю, а думаю я довольно быстро…

Мне либо удобно, либо нет. Ваш драгоценный вим неудобен сразу же, с момента запуска

Это придёт. Ну, или emacs - вариантов то немного.

bugfixer ★★★★★
()
Последнее исправление: bugfixer (всего исправлений: 1)
Ответ на: комментарий от Jameson

Сам я патч предложить не могу, у меня лапки, я не программист.

Ты как забрёл в эту тему про vim, зачем тебе этот хороший инструмент?
Кому, вообще, может быть интересно твоё мнение?

Neksys ★★★
()
Ответ на: комментарий от Neksys

Ты как забрёл в эту тему про vim, зачем тебе этот хороший инструмент?

Как то вот взял и забрёл, а им только программистам разрешено пользоваться? Надо какие то сертификаты предъявлять, дипломы? Или ты тут вахтёр без полномочий, но по зову души?

Кому, вообще, может быть интересно твоё мнение?

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

Jameson ★★★★★
()

Ух ты,класс! А я просто комп выкидывал,и новый покупал всегда) ps вроде shift+: >exit< enter всегда было, пиктограммы эти после эскейпа учить еще придумали.

Dog ★★★
()
Ответ на: комментарий от ripgrep

сказал человек неосиливший vim

Сказал кормящий тролля человек. Очевидно же, осилить вим — не признак ума. Скорее это признак некой инаковости, присущей людям-кальмарам.

Jameson ★★★★★
()
Ответ на: комментарий от Jameson

А мог бы просто не кормить меня

Я однозначно пожалею о том что сейчас сделаю.

Но кальмары умом не отличаются обычно

Птица говорун. Прежде чем обсирать что-то возможно имело смысл это «что-то» попробовать.

bugfixer ★★★★★
()
Ответ на: комментарий от bugfixer

О, я попробовал, в прошлом веке ещё. И с тех пор сношу отовсюду где вижу, и переменную EDITOR переопределяю. Как же хорошо что есть не выедающие мозг текстовые редакторы, вроде nano или mcedit.

Jameson ★★★★★
()
Ответ на: комментарий от Jameson

Как же хорошо что есть не выедающие мозг текстовые редакторы, вроде nano или mcedit.

Достойно квотезов. Меня очень радует как Вы вот эти вот поделки «редакторами» назвали.

bugfixer ★★★★★
()
Ответ на: комментарий от bugfixer

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

Jameson ★★★★★
()
Ответ на: комментарий от Jameson

Это именно что редакторы

Это не просто гавнище, а ГАВНИЩЕ, а не «редакторы».

текстовые, для редактирования текста

Умоляю. Пример с копированием одной (одной - Карл!!) строчки я уже приводил.

Не делающие ничего больше

Так они вообще ничего не делают!

за что я им благодарен. Не нужно запоминать заклинания

C-c, C-v «наше фсё»? Я так и думал.

режимы, обвешиваться плагинами

За 20+ лет - кастомизаций минимум.

bugfixer ★★★★★
()

Что делается первым делом - конечно же, Ctrl-C, и это не срабатывает! Остаётся всего один способ — дернуть компьютер из розетки

Ну зочем же так? Можно перейти в другую консоль, узнать номер процесса редактора ps aux | grep vi и грохнуть через kill этот процесс. Я так делал когда не знал ESC - : - q.

Xintrea ★★★★★
()
Ответ на: комментарий от Jameson

чего же удивляться появлению агрессивных морализаторов, если некоторые чувствуют себя ущемлёнными даже vim’ом…

mrjaggers
()
Ответ на: комментарий от etwrq
$ /lib/ld-linux.so.2 /bin/chmod +x /bin/chmod    
bash: /lib/ld-linux.so.2: No such file or directory
$ ls /lib
cgmanager
firmware
ifupdown
init
klibc-длинная_строка_из_латиницы.so
libhandle.so.1
libhandle.so.1.0.3
libnih-dbus.so.1
libnih-dbus.so.1.0.0
libnih.so.1
libnih.so.1.0.0
lsb
modprobe.d
modules
resolvconf
runit-helper
systemd
terminfo
udev
x86_64-linux-gnu
$ cat /etc/debian_version
11.7

Werenter нет, не надо усложнять, решайте реальную задачу

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от www_linux_org_ru
$ ls /lib64/ld*
/lib64/ld-linux-x86-64.so.2
$ ls /lib64/ld* -l
lrwxrwxrwx 1 root root 42 июл 13 23:07 /lib64/ld-linux-x86-64.so.2 -> /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2
$ cat /etc/os-release 
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"


а

$ /lib/ld-linux.so.2 /bin/chmod +x /bin/chmod

пример для ALT Linux был

etwrq ★★★★★
()
Ответ на: комментарий от etwrq
$ /lib64/ld-linux-x86-64.so.2 /bin/chmod +x asdf

все же работает

(а в прошлой версии коммента 1. я не в той директории был, и 2. даже в правильной директории без полного пути (chmod вместо /bin/chmod) у меня не сработало)

BTW, в дебиане перл есть почти всегда (хотя Priority: standard, а не required) и там проще всего

perl -we 'chmod 0755, "/bin/chmod"'
www_linux_org_ru ★★★★★
()
Последнее исправление: www_linux_org_ru (всего исправлений: 5)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.