Если Вы хотите выдержать сравнение на основе имени файла затем, можно использовать ниже:
find folder1/ folder2/ -type f -printf %f"\n" | sort | uniq -c | \
awk '( $1 >= 2 ) {print "mv -vf folder1/"$2,"other_dir/","&&","mv -vf folder2/"$2,"other_dir/"}'
это будет просто команда печати на терминале, это не выполнит это, если Вы будете видеть, что вывод является надлежащим, затем просто добавляют | sh
в последнем затем это выполнит ту команду
Плагин SwapStrings.vim позволяет сделать это элегантно:
:%SwapStrings car truck
:%SwapStrings cat dog
Больше альтернатив можно найти здесь .
-121--166898- Хотя исходный vi
по-прежнему доступен , я не думаю, что он широко используется в текущих дистрибутивах linux или BSD; 1 видимо, он был запылен в
Существуют различные реализации vi, которые в настоящее время являются спецификацией POSIX . К ним относятся nvi
и elvis
, но наиболее популярен, вероятно, vim
.
В системах, использующих vim, vi
будет просто программной ссылкой на него, и при вызове таким образом он должен запускаться в vi-совместимом режиме, так что система имеет что-то, что соответствует спецификации POSIX. Однако, это не меняет фактическое название программы, которая является vim, и это то, что вы видите на экране заголовка.
1. Хотя он доступен на Arch , по крайней мере. Вы можете найти и другие места.
-121--65706- Если вы используете Debian, то vi
открывается как vim
из-за записи vi
в /etc/alternatives
. Позволь мне расстаться с этим ради тебя.
Когда вы делаете ls -l/usr/bin/vi
:
lrwxrwxrwx 1 root root 20 Jul 1 2014 /usr/bin/vi -> /etc/alternatives/vi
Как вы видите vi
двоичный является символической ссылкой на /etc/alternatives/vi
.
Теперь, если вы делаете ls -l/etc/alternates/vi
:
lrwxrwxrwx 1 root root 18 Jul 1 2014 /etc/alternatives/vi -> /usr/bin/vim.basic
Это символическая ссылка на двоичный файл vim.basic
.
Итак, в двух словах: /usr/bin/vi
→ /etc/alternatives/vi
→ /usr/bin/vim.basic
В результате при вводе vi
в оболочку откроется vim.basic
.
Вы можете проверить и изменить значения в /etc/alternatives
по команде update-alternatives
, но я думаю, что на ваш первоначальный вопрос уже дан ответ.
В любом случае VIM
является сумеретом VI
. Значение, все, что работает в VI
, работает в Vim
. Для всех намерений и целей это более расширяемая версия VI
.
Например, клавиши со стрелками печатают ABCD вместо движения.
Для этого есть 2 решения.
VI
. Установить NOCOMPATIMED
где-то в вашем ~ / .vimrc
(вы можете сделать файл, если у вас его нет). Затем перезапустите свой терминал. Второе решение всегда лучше отработало для меня.
Оригинальный вопрос уже ответил, объясняя, что VI является псевдоним для VIM, и что это нормально для команды VI для начала VIM.
Что следует отметить, так это то, что VIM (в некоторых настройках) чувствительно к которому называется его имя. Хотя VI
и VIM
оба выполняют одни и те же двоичные они могут вести себя по-разному.
Обратите внимание, что в некоторых дистрибутивах на основе Debian символическая ссылка в / bin / vi ведет на «busybox», а не на vim. В некоторых случаях это может быть нормально, но функции, предоставляемые busybox, являются минимальным набором и по некоторым причинам, похоже, зависят от того, как был скомпилирован busybox.
Если установлен vim, он обычно заменяет ссылку на busybox - но иногда это не так - busybox все еще может быть связан с / bin / vi, в то время как vim связан с / usr / bin / vi - так что это будет зависеть от Переменная окружения PATH, которая будет найдена первой. Обычный пользователь может получить "vim", но при входе в систему как "root" получит busybox vi.
Лучше всего проверить, какую ссылку vi вы используете (какую vi) и с чем она связана.
Хотя исходный vi
все еще доступен , я не думаю, что он широко используется в текущих Linux или Дистрибутивы BSD; 1 по-видимому, он был очищен от пыли в 2000 году после консервации за десять лет до этого, а последним выпуском был 2005 год.
Существуют различные реализации vi вокруг, что на самом деле теперь является спецификацией POSIX . К ним относятся nvi
и elvis
, но наиболее популярным, вероятно, является vim
.
В системах, использующих vim, vi
будет просто мягкой ссылкой на него, и при таком вызове он должен запускаться в vi-совместимом режиме, поэтому в системе есть что-то, что соответствует спецификации POSIX. Однако это не меняет фактического имени программы, то есть vim, и это то, что вы видите на титульном экране.
1. Хотя он доступен на Arch , по крайней мере. Вы можете найти его и в других местах.
Во многих системах Linux по умолчанию vi
действительно является версией Vim, обычно скомпилированной с меньшим количеством параметров (без встроенной поддержки perl и python, без графического интерфейса и т. д.), чем тот, который вы получили бы, если бы вы установили пакет Vim.
например, клавиши со стрелками печатают ABCD вместо перемещения.
Это вызвано несоответствием между эмулятором терминала и пониманием Vim используемой записи terminfo / termcap.Обычно это вызвано тем, что Vim отправил код t_ks
для «включения» клавиш со стрелками (фактически переводит их в режим, в котором они отправляют <1b> OA
вместо <1b> [A
), но ожидаемые клавиши предназначены для другого режима (например, t_ku = <1b> [A
для стрелки вверх). Попробуйте изменить переменную среды TERM или параметр vim ( set term = builtin_ansi
или builtin_xterm
в vimrc может работать, хотя может отключать цвет), используя другой терминал, или в крайнем случае добавив set t_ks = t_ke =
в ваш файл .vimrc
, чтобы отключить переключение этого режима. Это предлагаемое решение в файлах справки vim, следующий абзац после : help cs7-problem
.
Такое поведение не никоим образом свидетельствует о том, что это «на самом деле vi, а не vim» - большинство современных «подлинных» версий vi или nvi также поддерживают клавиши со стрелками.