Czy istnieje sposób na uruchomienie vima w trybie tylko do odczytu

19

Używam / bin / view, ponieważ jest to bezpieczny sposób na przeglądanie plików tekstowych i nie mam przypadkowych zmian utrzymujących się po zakończeniu.

/ bin / view szwy nie mają cech, które ma normalny vim. Czy istnieje sposób na uruchomienie vima w trybie tylko do odczytu lub uruchomienie / bin / view w trybie wizualnym.

Chcę mieć możliwość zaznaczania tekstu i wklejania go bez konieczności używania myszy. Tryb wizualny ułatwia to.

Problem, który mam, jest związany z dystrybucjami Linuksa CentOS / redhat, jest to -visual.

# vim --version | grep visual
+ user_commands + vertsplit + virtualedit + visual + visualextra + viminfo + vreplace 
# view --version | grep visual
-textobjects -title -toolbar -user_commands -vertsplit -virtualedit -visual
nelaaro
źródło
viewto link (zwykle symboliczny obecnie) do vimtego, który działa vimw trybie tylko do odczytu. Twój viewwydaje się być związana z inną vimniż ta, którą otrzymujemy od wykonujące „vim”. Zajrzyj na stronę podręcznika aktualizacji-alternatywy (8), aby zobaczyć, jak to naprawić.
garyjohn

Odpowiedzi:

21

Zobacz $ vim --helpwiele argumentów uruchamiających Vima.

Aby uruchomić Vima w trybie tylko do odczytu, należy:

$ vim -R filename

EDYTOWAĆ

$ viewi $ vim -Rwydają się być jednym i tym samym poprzez dowiązania symboliczne. Nie jestem pewien, jakie funkcje uzyskasz dzięki biegowi $ vim -R, których nie masz $ view.

Tutaj, w Ubuntu, mogę wizualnie wybierać rzeczy w obu.

romainl
źródło
W widokach centos i vim -R nie są takie same. widok jest z jakiegoś powodu skompilowany z -visual.
nelaaro
8

Jeśli zapomniałeś -Ropcji podczas uruchamiania vim, możesz użyć:

:set ro
kev
źródło
2

Jeśli twoim celem nie jest po prostu nadpisanie oryginalnego pliku, możesz vim przeczytać z funkcji stdin:

cat filename | vim -
James M. Lay
źródło
1

Jak wspomniano @garyjohn, viewczęsto jest symbolicznie powiązany z jednym vilub drugim vim. W zależności od dystrybucji Linuksa używasz i jak viczy vimzostały zainstalowane to może się różnić. W moim systemie RHEL 6 wyjście ls -l `which view`programów, które /bin/viewjest symbolicznie powiązane vi.

Więc jeśli chcesz z funkcji vimw trybie tylko do odczytu byś albo trzeba alias viewdo vimlub użyć vim -R <filename>roztworu dostarczonych przez @kev (zakładając, że nie ma uprawnień do zmiany linki symboliczne w systemie, o którym mowa).

gmorganVA
źródło
To właśnie zrobiłem i działa idealnie (gdzie vimjest jakakolwiek wersja / smak Vima). Teraz mogę mieć okno tylko do odczytu do przeglądania różnicowych vimplików, z innym oknem również do edycji rzeczywistego pliku w tym samym czasie.
Benjamin R