저는 코드를 작성할 때 두 가지 일을 합니다. 브라우저에서 파일을 열거나 노드에서 실행합니다. 그래서 저는 이 효과를 얻기 위해 vim에서 몇 가지 단축키를 만들고 싶습니다.
F5현재 디렉토리에서 새 gnome 터미널을 열고 실행한 http-server
다음 Firefox에서 새 탭을 열고 포트 8000을 누르려고 합니다 .
또한 F6새 gnome 터미널을 열고 실행한 nodemon
다음 새 Firefox 탭을 열고 포트 8000에 액세스하고 싶습니다.
nnoremap <F5> :exe ':silent !firefox %'
nnoremap <F5> :exe ':silent !firefox %'
답변1
vi.stackexchange.com의 vi/vim 스택에 더 적합할 수 있습니다.
:silent 플래그는 Enter 키 누르기를 취소하므로 명령줄에서 실행하기 전에 명령 세트에 추가해야 합니다. 나는 다음과 같은 면에서 매우 운이 좋았습니다.
:nnoremap <F5> :exe ':silent !firefox % 2>/dev/null &'^M^L
마지막에 ctrl-M 및 ctrl-L 비트를 얻으려면 ctrl-V를 눌러야 합니다. 제가 추가한 내용에 대한 간략한 개요는 다음과 같습니다.
2>/dev/null to avoid dumping stderr to screen.
& to allow us to drop back to vim without waiting for firefox to finish
^M to execute the command
^L to initiate a redraw (the command frequently blacked out my screen)
이상한 점은 stderr 리디렉션이 없으면 Firefox가 화면에 오류 덤프를 완료하고 다시 그릴 때까지 기다려야 한다는 것입니다. 이상한 비트가 표시되기 전에 이 줄을 삭제하는 것이 훨씬 쉽습니다.