Emacs 방황 모드에 대한 Vim 기반 대안

Emacs 방황 모드에 대한 Vim 기반 대안

저는 현재 -code를 작성하고 실행하기 위해 vim(실제로는 neovim) IDE를 사용하고 있습니다( -plugin GNU R사용 , 다음 항목도 참조하세요).Nvim-Rhttps://github.com/jalvesaq/Nvim-R, 내 REPL로) 내 로컬 컴퓨터에서 제대로 실행됩니다. 작업 부하나 수요가 더 높으면 ssh원격 시스템으로 가서 nvim플러그인을 설치하고 nvim서버에서 "로컬" 애플리케이션으로 실행합니다.

최근에 저는 기발한 패턴(투명한 원격 액세스, 다중 프로토콜, 다음 항목도 참조) Emacs이 있다는 것을 깨달았습니다.TRAMPhttps://www.emacswiki.org/emacs/TrampMode)을 사용하면 원격으로 파일을 열 수 있을 뿐만 아니라 원격 컴퓨터에서 명령을 실행할 수도 있습니다. 내가 이해하는 바에 따르면 이는 REPL 로 사용할 수 있음을 의미합니다 Emacs( ESS예 :EmacsGNU Rhttps://ess.r-project.org/Manual/ess.html#ESS-processes-on-Remote-Computers).

vim또는 에 비슷한 것이 있는지 알고 싶습니다 neovim. 다음을 사용하여 원격으로 파일을 편집할 수 있다는 것을 알고 있습니다.

vim scp://USER@SERVER:PORT//absolute/path/to/file

또는

vim
:e scp://USER@SERVER:PORT//absolute/path/to/file

그러나 내가 이해한 바에 따르면 이것은 실제로 내 로컬 컴퓨터에 파일의 임시 복사본을 생성하고 Nvim-R-REPL을 실행할 때 작업 디렉터리를 로컬로 엽니다 /tmp/something.

한번 시도해볼까 하는 생각이 들었습니다 vim-slime(참조)https://github.com/jpalardy/vim-slime), repl.nvim(바라보다https://github.com/HiPhish/repl.nvim) 또는 neoterm(참조https://github.com/kassio/neotermEmacs), 하지만 비슷한 경험을 재현할 수 있을지는 모르겠습니다 .

어떤 아이디어가 있나요? 비슷한 것을 달성한 사람이 있나요?

답변1

면책조항: 나는 이 질문에 이미 답변했습니다.vi.SE그리고 완전성을 위해 답변을 반복하십시오.


나는 아직 완벽한 해결책을 찾지 못했지만 나에게 아주 잘 맞는 해결책을 찾았습니다.vim-slime(만 작성 vimscript).

내 구성 파일( ~/.config/nvim/init.vim또는 ~/.vimrc)에서 다음 줄을 사용합니다.

let g:slime_target = "neovim"
"let g:slime_target = "vimterminal"
"let g:slime_target = "screen"
"let g:slime_target = "tmux"

이 중 하나만 필요합니다. 첫 번째 줄이 사용되지만 neovim, 사용한다면 vim두 번째 줄(주석 없음)을 사용하겠습니다. 내 작업 흐름에서는 ssh원격 시스템으로 이동하여 작업하려는 파일(예: my script.R또는 -interpreter list_of_commands.sh)을 연 다음 파일을 생성 :vertical split하고 이어서 하나를 엽니다 :terminal. 예를 들어 my GNU R-interpreter 또는 a를 실행할 수 있습니다. bash. 터미널 멀티플렉서를 사용하려는 경우 screen(with Ctrl-a | Ctrl-a l Ctrl-a c) 또는 (with )를 사용하여 tmux새 분할을 생성 Ctrl-b %하고 위의 해당 행(주석 해제)을 구성 파일에 포함할 수 있습니다.

:SlimeSend그런 다음 - 명령( Ctrl-c Ctrl-c동일한 키 조합을 두 번 눌러야 함)을 호출하면 현재 커서가 있는 텍스트가 대상으로 전송되도록 선택됩니다(올바르게 구성되고 분할이 이미 존재하며 기본적으로 올바르게 작성되었습니다.)

TRAMP이는 에서만큼 우아 하지는 않지만 Emacs작동합니다. 하지만 개선을 위한 아이디어가 있는 사람이 있으면 주저하지 말고 문의하세요!

관련 정보