Neovim에서 채팅하고 싶어요.
개시하다
안녕하세요.나 히가시야.
이 기사는 Vim Advent Calendar 2020 열흘째 보도입니다.
이번에는 네오비임에서 채팅하고 싶어서 채팅해야 한다.
쓸것
만든 물건
했어.
여기 있다!
비엠에도 대응하고 싶지만, 지금은 네오비엠만 지원한다.
noachat.nvim
해설
실시간 채팅을 시도했다.
실시간 채팅 섹션
WebSocket을 사용하고 있습니다.
당초 "VimScript를 쓰면 웹소켓이 되지 않을까~"라고 생각했지만, 지금의 내 기술로는 안 된다고 생각해 네오비엠의remote pluggin과 파이톤을 사용하기로 했다.
투고 부분
채팅에 사용되는recv를while로 전송하기 편리하도록 수신 과정에서send를 사용하여 발송할 수 없습니다.
그럼 문자는 어떻게 보내요?
고민하면서 echo 지령을 할 때, "echo를 사용할 수 있다면 시스템도 쓸 수 있겠죠?"이렇게 생각하다
서버 측에post 메시지를 급히 보내면 연결된 클라이언트가 모두 그 메시지를 보내는 기능을 실현했다.
플러그인 측도curl이 메시지를 보내는 함수를 설치해 봤는데 이곳에서 순조롭게 진행될 수 있다는 것을 발견하고 계속 사용하기로 했습니다.
구상의 승리.(remote plugene에 대해 잘 모르기 때문에 설치 방법이 좋을 수 있습니다.)
서버
Go에 설치되었습니다.
창고는 여기 있습니다.
noachat
DB를 사용한 메시지가 저장되지 않았습니다.
다시 불러오면 과거 로그를 읽을 수 없습니다.
설치하다.
그럼 실제로 사용해 보세요.
서버에서 GCP 호스트를 사용하고 있습니다.
먼저 필요한 Python의 프로그램 라이브러리를 설치합니다.
pip install --user pynvim websocket-client
다음은 플러그인 설치입니다.dein.vim
call dein#add('higashi000/noachat.nvim')
vim-plugPlug 'higashi000/noachat.nvim'
설치가 완료되면 :UpdateRemotePlugin
를 수행합니다.상술한 모든 것이 끝난 후 init.vim에 다음 설정을 쓰십시오.
설정 섹션은 Shogodenite.nvim를 참조합니다.
autocmd FileType noachat call s:noachat_settings()
function! s:noachat_settings() abort
map <silent> nl <Plug>(noachat_leave)
endfunction
let g:noachat#ServerURL = 'noa.higashi.dev'
let g:noachat#https = v:true
let g:noachat#UserName = 'your user name'
<Plug>(noachat_leave)
에 채팅의 종료 키 귀속을 설정합니다.그나저나 네오비엠
:q!
이 끝나도 연결이 끊긴다.g:noachat#ServerURL
에 서버의 도메인 이름을 씁니다.서버가https를 지원할 때
g:noachat#https
진짜로 설정합니다.g:noachat#UserName
에 자신의 이름을 쓰세요.채팅의 사용자 이름이 됩니다.(입력하지 않으면 noname)
:NoaChatPostMsg
에서 메시지를 보낼 수 있습니다.준비 끝!
init.vim 다시 불러오기
:StartNoachat
채팅 시작합시다!웹 버전 정보
네오비엠뿐만 아니라 웹 버전도 설치를 시도했다.
여기.
이곳에서 자신의 네오비엠과 메시지를 주고받으면 혼자서 실시간으로 채팅하는 느낌을 경험할 수 있다.
과제.
문자를 받을 때 상당히 불편해진다.(기타remote plugen 사용 불가 등)
나는 자유롭지 않게 변한 부분을 하나하나 없애고 싶다.
최후
나는 이 서버가 내년 1월까지 운행될 것이라고 생각한다.(이동하지 않은 보고서를 제출하십시오.)
공격을 멈추세요.나는 내 지갑이 유료로 인해 죽을 것이라고 생각한다.(공격할 수 있는 곳이 있으면 알려주세요.)
생각나면 누구를 초대해서 채팅을 즐겨주세요.
Reference
이 문제에 관하여(Neovim에서 채팅하고 싶어요.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/higashi000/articles/introduction-noachat텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)