Vim как удалить файл
Самое главное — побороть боязнь белого листа. Я всегда говорю это себе, когда нужно начать работу над чем-то и не знаешь, как подступиться. Так что я решил не ломать голову над тем, о чем будет первая запись в этом блоге, а просто выложить небольшую шпаргалку по текстовому редактору Vim.
Шпаргалка эта уже не первый месяц хранится у меня в ~/txt/vim.txt. За это время я успел составить довольно объемный справочник по основным командам Vim. При желании вы можете начать свое обучение работе с Vim с этого поста.
Файл настройки: ~/.vimrc
Можно редактировать файлы через сеть, например
:e
:Ex или :e ./ - файловый менеджер
== Подсветка синтаксиса ==
:syntax on включить подсветку
:syntax off выключить подсветку (по умолчанию)
== Перенос строк ==
:set wrap разрешить word wrap (по умолчанию)
:set nowrap запретить word wrap
== Печать ==
:ha[rdcopy] распечатать документ
:set printoptions=duplex:off отключить двустороннюю печать
== Сворачивание ==
zc свернуть блок
zo развернуть блок
zM закрыть все блоки
zR открыть все блоки
za инвертирование
zf см :set foldmethod=manual
:set foldenable включить свoрачивание
:set foldmethod=syntax сворачивание на основе синтаксиса
:set foldmethod=indent сворачивание на основе отступов
:set foldmethod=manual выделяем участок с помощью v и говорим zf
:set foldmethod=marker сворачивание на основе маркеров в тексте
:set foldmarker=bigin,end задаем маркеры начала и конца блока
== Маркеры ==
ma установить локальный маркер a
mB установить глобальный маркер B
`c перейти к локальному маркеру c
`0 вернуться на позицию, на которой закончили
работу при закрытии vim
:marks просмотр маркеров
set viminfo='1000,f1 маркеры пишутся в ~/.viminfo, восстанавливаясь
при следующем запуске vim. маркер " хранит
последнюю позицию курсора в файле
== Сессии ==
mksession file.session сохранить текущую сессию
source file.session восстановить ранее сохраненную сессию
== Макросы ==
qa записать макрос с именем a
q в режиме записи макроса: закончить запись
@a выполнить макрос с именем a
@@ повторить последний макрос
== Регистры ==
"ayy скопировать строку в регистр a
"bdd вырезать строку и поместить в регистр b
"С2d вырезать три строки и дописать в конец
регистра C
:reg [name1][name2][. ] просмотреть содержимое регистров
== Выделение ==
v + hjkl выделение текста
SHIFT + v выделить строку
CTR + v выделение прямоугольника
p вставить
y копировать
d удалить
gu к нижнему регистру
gU к верхнему регистру
== Поиск по всему проекту ==
:vimgrep /EXPR/ **/*.c поиск по регулярному выражению
:copen показать все найденные места
:close скрыть все найденные места
:cn переход к следующему результату
:cp переход к предыдущему результату
== Нумерация строк ==
:set number включить нумерацию строк
:set nonumber отключить нумерацию строк
== Работа с окнами ==
:split горизонтальное разбиение
:vsplit вертикальное разбиение
Ctr+W, затем
с закрыть окно
+- изменение высоты текущего окна
<> изменение ширины текущего окна
= установить равный размер окон
hjkl или стрелочки перемещение между окнами
:set spell spelllang=ru,en включить проверку орфографии
:set nospell выключить проверку орфографии
]s следующее слово с ошибкой
[s предыдущее слово с ошибкой
z= замена слова на альтернативу из списка
zg good word
zw wrong word
zG ignore word
== Другое ==
:set [no]wildmenu При авто-дополнении в командной строке над
ней выводятся возможные варианты
:set list Отображать табуляцию и переводы строк
q: История команд
. Повторение последней команды
Более подробный материал об использовании текстового редактора Vim вы найдете в книге Изучаем редакторы vi и Vim, 7-е издание. Книга доступна как в бумажном, так и в электронном формате.
На этом пока все. Думаю, я буду время от времени редактировать эту шпаргалку, так что следите за PS в конце следующих постов.
Текстовый редактор vim, созданный на основе более старого vi. Один из мощнейших текстовых редакторов с полной свободой настройки и автоматизации, возможными благодаря расширениям и надстройкам. По умолчанию входит в состав любого дистрибутива Linux.
Открываем файл с помощью vi / vim:
Основные режимы работы.
«Обычный режим» — перемещение по файлу, стирание текста и другие редактирующие функции. Это - основной режим, только из него можно сразу перейти в другие режимы. Для возврата в основной режим из любого другого режима:
«Режим ввода» - ввод текста. Как только завершается ввод текста, принято сразу возвращаться в обычный режим. Заметьте, что стирание и ввод текста происходит в двух разных режимах. Переход в него из обычного режима:
«Командный режим» - Команды (операции с файлом, поиск и замена, настройка редактора…). Переход в него из обычного режима:
«Режим поиска» - ввод поискового запроса. Переход в него из обычного режима
«Визуальный режим» - режим выделения текста:
Перемещение по файлу
После загрузки Vim, на экране вы увидите часть загруженного вами текстового файла. Загрузившись, Vim находится в «командном режиме» - один из основных режимов. Это значит, что если вы нажмете клавишу (строчная L), вместо появления «l» на месте курсора вы увидите, что курсор сдвинулся на один символ вправо. В командном режиме знаки, набираемые на клавиатуре, используются как команды для Vim, а не как помещаемые в текст символы. Команды перемещения - один из наиболее важных типов команд. Вот некоторые из них:
Ввод текста
Следующие команды переводят редактор в режим ввода:
Удаление и вставка
Ниже перечислены основные комманды удаления и вставки текста:
Отмена изменений
Поиск
Перейти на строку:
Выход
Есть еще пара команд, которые вам необходимо знать:
В этой статье описаны основные возможности, необходимые для работы. Практически во все дистрибутивы Linux входит учебник по работе с редактором, - просто введите в командной строке команду vimtutor.
How can I delete from the disk the current open file from within vim? Would be nice to also close the buffer.
I see you can use NERDTree for that, but I don't use this plugin.
6 Answers 6
Using an external tool such as rm(1) is fine, but Vim also has its own delete() function for deleting files. This has the advantage of being portable.
An alternative way of expressing this is :call delete(@%) , which uses the % (current file) register (tip by @accolade).
To completely purge the current buffer, both the file representation on disk and the Vim buffer, append :bdelete :
You'll probably want to map this according to your preferences.
Thanks! The following map in the .vimrc seems to work: nnoremap rm :call delete(expand('%')) \| bdelete!
I mapped it to Ctrl+Del using nnoremap
:call delete(@%)|q! ← Short variant (if you don't want to map it). (The buffer remains in :ls and can be revived with :b this way; it retains the filename and buffer options, but not the file content.)
@accolade, I like your trick, but you would need to use :call delete(@%)|bd! and use :ls! with :b to revive.
Take a look at Delete files with a Vim command. The Comments section should have what you're looking for:
Basically, Rm will delete the current file; RM will delete the current file and quit the buffer (without saving) in one go.
Alternatively, you could just issue a shell command to remove the current file:
@saeed144, in the case of spaces in a filename (or other characters you don't want interpreted at the shell level), you'll want to surround the filename ( % ) with quotes: !rm "%" .
DATA HAZARD WARNING! With just % (filepath ("filename" in vim terminology) as originally invoked, potentially relative, e.g. just the file's name) instead of %:p (absolute filepath) you run a small of risk of deleting a file of the same name in another directory instead, if you have forgotten you :cd ed there. Therefore I strongly recommend using %:p instead of % if you map it anyway.
Sometimes a plugin can be an attractive solution even for a simple problem. In this case we're lucky as there is eunuch.vim by the almighty Tim Pope.
In its own words eunuch.vim provides
Vim sugar for the UNIX shell commands that need it the most. Delete or rename a buffer and the underlying file at the same time. Load a find or a locate into the quickfix list. And so on.
Perfect. It has what we need, plus some additional tools if we're on a UNIX system.
The command you are looking for is
Again, remap it if you need it a lot, e.g. :nnoremap rm :Remove! .
I was looking a way to do without plugins, so I'll accept your other answer. The plugin looks good :-)
I like being able to delete files from within vim, but I am also paranoid about accidentally deleting important work that, for one reason or another, is not yet under version control. I find it useful to combine the previous information from @glts and @accolade with this answer on how to use the confirm command to prompt before quitting vim.
Putting these together, I added a function to my ~/.vimrc , which prompts before deleting the file and closing the buffer, and mapped it to a key combination:
If you are one keystroke less paranoid than I am, you can append to the first line
and only have to press return once.
I strongly recommend using expand('%:p') instead of @% when you script it anyway. (While I'm flattered that you incorporated my hint :) the brevity benefit is marginal in a script. More importantly: ) %:p will expand the filename to a full absolute path (which it may or may not already be). With just % you run a small of risk of deleting a file of the same name in another directory instead, if you have forgotten you :cd ed there.
Совет: Добавьте число перед командой перемещения курсора для того, чтобы повторить её. Например, 4j перемещает курсор на 4 строки вниз.
Режим вставки - вставка/добавление текста
- i - вставка перед курсором
- I - вставка в начало строки
- a - вставка (добавление) после курсора
- A - вставка (добавление) в конец строки
- o - добавление новой строки под текущей
- O - добавление новой строки над текущей
- ea - вставка (добавление) после конца слова
- Esc - выход из режима вставки
Редактирование
- r - заменить один символ
- J - присоединить нижнюю строку к текущей
- cc - заменить всю строку
- cw - заменить всё текущее слово
- c$ - заменить до конца строки
- s - удалить символ и заменить текст
- S - удалить строку и заменить текст (то же что cc)
- xp - переставить две буквы (удалить и вставить)
- u - отменить
- Ctrl + r - применить последнее отменённое изменение
- . - повторить последнюю команду
Выделение текста (визуальный режим)
- v - включить режим выделения текста, выделить строки, затем выполнить команду (например, y-копирование)
- V - включить построчный режим выделения
- o - переместиться на другой конец выделенной области
- Ctrl + v - включить режим выделения блоков
- O - переместить на другой угол блока
- aw - выделить слово
- ab - блок в ()
- aB - блок в <>
- ib - внутренний блок в ()
- iB - внутренний блок в <>
- Esc - выйти из режима выделения текста
Визуальные команды
Регистры
- :reg - показать содержимое регистров
- "xy - поместить содержимое в регистр x
- "xp - вставить содержимое регистра x
Совет: Содержимое регистров сохраняется в ~/.viminfo, и будет восстановлено при следующем запуске vim.
Метки
- :marks - список меток
- ma - установить метку A на текущей позиции
- `a - переместиться к метке A
- y`a - скопировать до метки A
Макросы
- qa - записать макрос A
- q - остановить запись макроса
- @a - run macro a
- @@ - выполнить последний макрос
Вырезать и вставить
- yy - скопировать строку
- 2yy - скопировать 2 строки
- yw - скопировать слово
- y$ - скопировать до конца строки
- p - вставить буфер обмена после курсора
- P - вставить буфер обмена перед курсором
- dd - удалить (вырезать) строку
- 2dd - удалить (вырезать) 2 строки
- dw - удалить (вырезать) слово
- D - удалить (вырезать) до конца строки
- d$ - удалить (вырезать) до конца строки
- x - удалить (вырезать) символ
Выход и сохранение
- :w - сохранить файл, но не выходить
- :w !sudo tee % - сохранить файл с sudo
- :wq либо :x либо ZZ - сохранить файл и выйти
- :q - выйти (терпит неудачу в случае несохраненных изменений)
- :q! либо ZQ - выйти и потерять несохраненные изменения
Поиск и замена
- /pattern - поиск шаблона
- ?pattern - обратный поиск шаблона
- \vpattern - 'very magic' режим: все не алфавитно-цифровые символы интерпретируются как специальные (экранирование не требуется)
- n - повторить поиск в том же направлении
- N - повторить поиск в обратном направлении
- :%s/old/new/g - заменить все вхождения шаблона в файл на указанное значение
- :%s/old/new/gc - заменить все вхождения шаблона в файл на указанное значение с подтверждением
- :noh - отключить подсвечивание результатов поиска
Поиск в нескольких файлах
- :vimgrep /pattern/ - поиск по шаблону в нескольких файлах
- :cn - переместиться к следующему совпадению
- :cp - переместиться к предыдущему совпадению
- :copen - открыть окно со списком результатов
Сворачивание
Команды для управления:
После закрытия Vim все свертки забываются, для сохранения сверток в открытом файле используется команда :mkview , для загрузки - :loadview (подробнее).
Я начал использовать Vim для разработки сценариев Perl и начинаю находить его очень мощным.
Мне нравится открывать сразу несколько файлов с помощью:
а затем переключаться между ними с помощью:
и посмотрите, какой файл открыт:
А чтобы добавить файл, могу сказать:
который, как я ожидаю, затем будет добавлен в мой список файлов, но вместо этого он стирает мой текущий список файлов, и когда я печатаю, :args я только test.pl открываю.
Итак, как я могу добавлять и удалять файлы в моем списке аргументов?
Почему бы не использовать вкладки (введенные в Vim 7)? Вы можете переключаться между вкладками с помощью :tabn и :tabp , С помощью :tabe вы можете добавить новую вкладку; а с обычным :q или :wq закрываете вкладку. Если вы сопоставите :tabn и :tabp с клавишами F7 /, F8 вы можете легко переключаться между файлами.
Если нет , что много файлов или вы не имеете Vim 7 можно также разделить экран на несколько файлов: :sp . Затем вы можете переключаться между разделенными экранами с помощью Ctrl +, W а затем клавиши со стрелкой в направлении, которое вы хотите переместить (или вместо клавиш со стрелками w для следующего и W для предыдущего разделенного экрана)
Чтобы сохранить и закрыть вкладку, вы также можете использовать ZZ вместо :wq (как обычно, сохранить и закрыть)
Я использую пакет vim-gnome в Ubuntu 10.10 и могу переключаться между вкладками с помощью Ctrl + PageUp и Ctrl + PageDown. Мне не пришлось ничего настраивать; это было по умолчанию.
Вы можете перейти на любую вкладку, используя ngt, где n - это индекс вкладки (начиная с единицы). Я думаю, что есть опция, которая отображает индекс каждой вкладки рядом с именем файла, но я не знаю, что это такое. Если кто знает, я хотел бы это услышать.
Также обратите внимание, что вы можете использовать -p флаг для открытия нескольких файлов во вкладках из командной строки. Например, gvim -p main.pl maintenance.pl эти два файла откроются во вкладках.
Листинг
Чтобы увидеть список текущих буферов, я использую:
Открытие
Чтобы открыть новый файл, я использую
с расширенным завершением табуляции (вставьте set wildmenu свой .vimrc ).
Примечание: вы также можете использовать, :find который будет искать для вас набор путей, но сначала вам нужно настроить эти пути.
Переключение
Для переключения между всеми открытыми файлами я использую
с расширенным завершением табуляции (по-прежнему set wildmenu ).
Использование окон
Ctrl-W s и Ctrl-W v разделить текущее окно по горизонтали и вертикали. Вы также можете использовать :split and :vertical split ( :sp и :vs )
Ctrl-W w для переключения между открытыми окнами и Ctrl-W h (или j или k или l ) для навигации по открытым окнам.
Ctrl-W c закрыть текущее окно и Ctrl-W o закрыть все окна, кроме текущего.
Запуск vim с флагом -o или -O открывает каждый файл в отдельном разделе.
При всем этом мне не нужны вкладки в Vim, и мои пальцы находят буферы, а не глаза.
Примечание: если вы хотите, чтобы все файлы передавались в один и тот же экземпляр Vim, запустите Vim с --remote-silent опцией.
Спасибо за очень хороший краткий справочник по командам vim, наиболее часто используемым при работе с несколькими файлами.
:b - очень мощная команда, потому что она может принимать в качестве аргументов как номера буферов, так и имена буферов. Что еще? Он также поддерживает завершение табуляции в любой части имени файла. Скажем, у вас открыт файл foo.txt в буфере 2, вы можете ввести :b 2
У меня есть эта строка в моей .vimrc: nnoremap gb :ls
Также стоит упомянуть, что :b совпадение подстроки будет приниматься, если оно однозначно. Поэтому, если у вас есть открытые файлы foo , bar и baz , :b z достаточно, чтобы переключить вас в baz буфер, и / :b oo или :b o перенесет вас в foo буфер.
для списка открытых буферов
- :bp предыдущий буфер
- :bn следующий буфер
- :bn ( n число) перейти в n-й буфер
- :b с клавишей табуляции, обеспечивающей автозаполнение (круто !!)
В некоторых версиях vim bn и bp на самом деле bnext и bprevious соответственно. В этом случае полезно автозаполнение вкладок.
Или, когда вы находитесь в обычном режиме, используйте ^ для перехода к последнему файлу, с которым вы работали.
Кроме того, вы можете сохранять сеансы vim
Приведенная выше команда сохраняет текущие открытые файловые буферы и настройки в ~/today.ses . Вы можете загрузить этот сеанс, используя
Нет проблем вспомнить, где вы остановились вчера. ;)
@shyam Думаю, я люблю тебя! Почему-то я никогда не знал наверняка о команде mksession, но сегодня совершенно неожиданно решил, что ДОЛЖЕН быть какой-то способ сохранить список файлов, чтобы легко их открывать. Это даже лучше, поскольку кажется, что он даже сохраняет полное состояние вещей (разбиение окон, расположение буферов и т. Д.). Тогда спасибо!
Чтобы добавить в args список:
Чтобы удалить из args списка:
В вашем примере вы можете использовать :argedit test.pl, чтобы добавить test.pl в args список и отредактировать файл за один шаг.
:help args дает гораздо больше деталей и расширенное использование
Это действительно ответ на заданный вопрос, хотя, учитывая название, другие ответы совершенно справедливы.
Я использую команды буфера - :bn (следующий буфер), :bp (предыдущий буфер) :buffers (список открытых буферов) :b (открыть буфер n) :bd (удалить буфер). :e просто откроется в новый буфер.
Я думаю, вы могли использовать неправильную команду для просмотра списка открытых файлов.
Попробуйте сделать, :ls чтобы увидеть список открытых файлов, и вы увидите:
Затем вы можете перемещаться по файлам, обращаясь к ним по перечисленным номерам, например: 3b
или вы можете разделить экран, введя номер, но используя sb вместо просто b.
Вы можете легко переключаться между этими двумя файлами, нажимая Ctrl Shift 6
Изменить: например, :ls вы можете использовать :reg для просмотра текущего содержимого ваших регистров, включая регистры 0-9, которые содержат то, что вы удалили. Это особенно полезно, если вы хотите повторно использовать текст, который вы ранее удалили.
В Vim (но не в оригинальном Vi!) Есть вкладки, которые я считаю (во многих контекстах) лучше буферов. Вы можете сказать, :tabe [filename] чтобы открыть файл в новой вкладке. Переключение между вкладками осуществляется щелчком по вкладке или комбинациями клавиш [ n ] gt и gT . Графический Vim даже имеет графические вкладки.
Вкладки очень удобны с групповыми символами: vim -p dir/* . Максимальный размер вкладки - 10, но вы можете изменить его в ~/.vimrc настройках tabpagemax на другое значение.
Такие вещи, как :e и :badd будут принимать только ОДИН аргумент, поэтому следующее не сработает
Если вы хотите добавить несколько файлов из vim, используйте arga[dd]
- ctrlpvim / ctrlp.vim - для поиска файла по имени нечеткий поиск по его местоположению или просто по имени
- jlanzarotta / bufexplorer - для просмотра открытых буферов (когда вы не помните, сколько файлов вы открывали и изменяли недавно, и вы не помните, где они находятся, вероятно, потому, что вы искали их с помощью Ag)
- rking / ag.vim для поиска файлов относительно gitignore
- scrooloose / nerdtree для просмотра структуры каталогов, просмотра, добавления / удаления / изменения файлов
РЕДАКТИРОВАТЬ: Недавно я использовал dyng / ctrlsf.vim для поиска с контекстным представлением (например, Sublime search), и я переключил движок с ag на ripgrep . Производительность выдающаяся.
EDIT2: вместе с CtrlSF вы можете использовать mg979 / vim-visual-multi , вносить изменения сразу в несколько файлов, а затем в конце сохранять их за один раз.
Некоторые ответы в этом потоке предлагают использовать вкладки, а другие предлагают использовать буфер для выполнения того же самого. Вкладки и буферы разные. Я настоятельно рекомендую вам прочитать эту статью « Безумие Vim Tab - Буферы против вкладок ».
Вот хорошее резюме, которое я извлек из статьи:
- Буфер - это текст файла в памяти.
- Окно - это область просмотра в буфере.
- Вкладка - это набор окон.
При использовании нескольких файлов в vim я в основном использую эти команды (с открытыми ~ 350 файлами):
- :b (перейти в буфер)
- :bw (очистка буфера, удаление буфера)
- :e (редактировать, открыть новый буфер>
- pltags - разрешить переход к определениям подпрограмм / методов
@ BrianO'Dell :b
Чтобы изменить все буферы для tab просмотра.
откроет все буферы для просмотра вкладок. Затем мы можем использовать любые команды, связанные с вкладками
подробности на :help tab-page-commands .
Мы можем указать vim открывать в виде вкладок несколько файлов с помощью vim -p file1 file2 . alias vim='vim -p' будет полезно.
То же самое можно сделать, выполнив автокоманду в ~/.vimrc
В любом случае , чтобы ответить на вопрос: Для того, чтобы добавить в список агд: arga file ,
Чтобы удалить из списка аргументов: argd pattern
Больше на :help arglist
Таким образом, вы можете быстро переключаться между файлами и даже в отмеченное место в файле. Кроме того, ключевые команды короткие: 'C переход к коду, с которым я работаю, 'T переход к модульному тесту, с которым я работаю.
Когда вы меняетесь местами, сброс отметок тоже происходит быстро: mC помечает новую кодовую точку, mT помечает новую контрольную точку.
Я использую один и тот же файл .vimrc для gVim и командной строки Vim. Я обычно использую вкладки в gVim и буферы в командной строке Vim, поэтому у меня настроен .vimrc, чтобы упростить работу с ними обоими:
Это затирает существующие сопоставления для H и L , но делает переключение между файлами чрезвычайно быстрым и легким. Просто нажмите H для перехода к следующему и L предыдущему; используете ли вы вкладки или буферы, вы получите желаемый результат.
Мне нравятся эти сопоставления. Также попробуйте Ctrl-H, Ctrl-L. Я настраиваю Firefox и терминал gnome с одинаковыми сопоставлениями. Очень приятно иметь согласованные сочетания клавиш табуляции.
Если использовать только встроенные команды vim , лучшая из тех, что я когда-либо видел для переключения между несколькими буферами, - это:
Он прекрасно сочетает в себе как :ls и :b команды - перечисление всех открытых буферов и ждет вас , чтобы ввести команду переключения буфера.
Учитывая приведенное выше отображение в vimrc, как только вы наберете f ,
Снимок вывода для приведенного выше сопоставления клавиш:
Кроме того, я настоятельно рекомендую set hidden . Смотрите :help 'hidden' .
Эта великолепная идея! Пользуюсь :b и :ls много, но самостоятельно. Я думаю, что это становится менее полезным, когда у вас есть буферы, превышающие одну страницу, но тогда вы все равно можете просто вернуться к :b
Из этой викии Vim вы можете немного сократить его до nnoremap f :ls:b , хотя это может вызвать проблемы с командой 'more', хотя
Да, этот способ отлично работает, если открыто меньше файлов (обычный вариант использования). set more материал имеет значение только тогда, когда открыто много файлов (более одной страницы), например vim /usr/include/* , хотя тогда он менее полезен.
Если вы собираетесь использовать несколько буферов, я думаю, что самое важное - установить скрытый, чтобы вы могли переключать буферы, даже если у вас есть несохраненные изменения в том, который вы оставляете.
Я использую следующее, это дает вам множество функций, которые вы ожидаете иметь в других редакторах, таких как Sublime Text / Textmate.
fzf и fzf-vim изменили мою жизнь, я не могу этого рекомендовать. Он также очень хорошо работает в Windows, даже в консоли для нечеткого поиска файлов. В Windows используйте бэкэнд ripgrep (rg), который, по моему опыту, превосходит любой другой инструмент find / grep (например, silversearcher или окна по умолчанию обнаруживают, что fzf использует iirc). Вы можете использовать его для поиска по любому списку элементов: самые последние использованные файлы, открытые в данный момент буферы, строки в текущем буфере, строки в кодовой базе (cwd), теги, .. вы можете легко запрограммировать свой собственный нечеткий поиск по списку. Так хорошо! (Я пришел из ctrl-p и никогда не оглядывался назад)
Мой способ эффективно работать с несколькими файлами - использовать tmux.
Он позволяет разделять окна по вертикали и горизонтали, как в:
У меня это работает как на моем Mac, так и на Linux-машинах, и я считаю, что это лучше, чем встроенный механизм переключения оконных панелей, который предоставляется (на Mac). Я считаю, что переключение проще, и только с tmux я смог получить «новую страницу в том же текущем каталоге», работающую на моем Mac (несмотря на то, что, похоже, есть варианты для открытия новых панелей в том же каталоге), что является на удивление критическая штука. Мгновенное создание новой панели в текущем месте невероятно полезно. Метод, который создает новые панели с одинаковыми комбинациями клавиш для обеих ОС, критически важен для меня и является бонусом для всех с точки зрения личной совместимости в будущем. Помимо нескольких панелей tmux, я также пробовал использовать несколько вкладок, например, и несколько новых окон, например и в конечном итоге я обнаружил, что несколько панелей tmux являются для меня наиболее полезными. Я очень «нагляден» и люблю держать различные контексты прямо перед собой, соединенные вместе в виде панелей.
tmux также поддерживает горизонтальные и вертикальные панели, чего не было в старых screen версиях (хотя mac iterm2, похоже, поддерживает это, но, опять же, текущая настройка каталога не сработала для меня). tmux 1.8
Читайте также: