Vim(텍스트 에디터)
Vim (text editor)![]() | |
![]() 터미널 에뮬레이터에서 실행 중인 VIM | |
원저작자 | 브람 물레나르 |
---|---|
초기 릴리즈 | 1991년 11월 2일( 전 |
안정된 릴리스 | 9.0 / 2022년 6월 28일[1]; 2022년 28일) |
저장소 | |
기입처 | C, Vim 스크립트 |
운영 체제 | Unix, Linux, Windows NT, MS-DOS, macOS, iOS, Android, Haiku, AmigaOS, MorphOS |
유형 | 텍스트 편집기 |
면허증. | VIM[2][3][4] |
웹 사이트 | www |
Vim(/vmm/;[5] Vi IMproved의 축약어)은 무료 오픈 소스 화면 기반 텍스트 에디터 프로그램입니다.그것은 빌 조이의 vi를 개량한 복제품이다.Vim의 저자인 Bram Moolenaar는 Amiga의[6] 스티비 에디터 포트에서 Vim을 파생하여 1991년에 일반에 버전을 발표했습니다.Vim은 명령줄 인터페이스와 그래피컬 사용자 인터페이스에서 스탠드아론 애플리케이션으로 모두 사용할 수 있도록 설계되었습니다.Vim은 Vim 라이선스로 출시되었으며, 이 라이선스에는 소프트웨어를 즐기는 사용자들이 [4]우간다의 아이들에게 기부하는 것을 고려하도록 권장하는 자선용품의 조항이 포함되어 있다.Vim 라이선스는 GNU GPL 버전 2.0 [4]이후에 수정된 복사본을 배포할 수 있는 특별한 조항을 통해 GNU General Public License와 호환됩니다.
Amiga용으로 출시된 이후 크로스 플랫폼 개발로 다른 많은 시스템에서 사용할 수 있게 되었습니다.2006년에는 Linux Journal [7]독자들에게 가장 인기 있는 에디터로 선정되었고, 2015년에는 Stack Overflow 개발자 조사에서 세 번째로 인기 있는 텍스트 [8]에디터로, 2019년에는 다섯 번째로 인기 있는 개발 [9]환경으로 선정되었습니다.
역사
Vim의 선두 주자인 Stevie(ST Editor for VI Manipers)는 1987년 팀[10][11] 톰슨이 Atari ST를 위해 만들었고 Tony[10][12] Andrews와 G.R.([13][14]Fred) Walter에 의해 추가로 개발되었습니다.
Stevie를 기반으로 Bram Moolenaar는 1988년 Amiga 컴퓨터용 Vim에 대한 작업을 시작했고 1991년 [15][16][better source needed]첫 공개 릴리스(Vim v1.14)를 실시했습니다.
첫 출시 당시 "Vim"이라는 이름은 "Vi IMitation"의 약자였으나 [17]1993년 후반에 "Vi IMproved"로 바뀌었다.
릴리스 이력 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
vi와 마찬가지로 Vim의 인터페이스는 메뉴나 아이콘을 기반으로 하는 것이 아니라 텍스트 사용자 인터페이스에서 제공되는 명령어를 기반으로 합니다.GUI 모드인 gVim은 일반적으로 사용되는 명령어 메뉴와 툴바를 추가하지만 모든 기능은 명령줄 모드를 통해 표현됩니다.Vi(및 내선번호 Vim)는 타이피스트가 홈행에 손가락을 댈 수 있도록 하는 경향이 있기 때문에 터치 [31]타이피스트에게 유리할 수 있습니다.
Vim은 Vimtutor라는 초보자용 튜토리얼을 내장하고 있습니다.일반적으로 Vim과 함께 설치되지만 별도의 실행 파일로 존재하며 셸 [32]명령을 사용하여 실행할 수 있습니다.또한 Vim의 기능에 대한 자세한 내용과 FAQ가 기재되어 있는 Vim 사용자 매뉴얼도 있습니다.이 매뉴얼은 Vim 내에서 읽거나 온라인으로 [33][34]찾을 수 있습니다.
에는 ('Vim'을 되어 있습니다.:help
명령어)를 사용하여 명령어와 기능을 쿼리하고 탐색할 수 있습니다.
★★★
Vim에는 12개의 다른 편집 모드가 있으며, 그 중 6개는 6개의 기본 [35]모드의 변형입니다.가장 중요한 모드는 다음과 같습니다.
- 일반 모드 – 편집기 명령에 사용됩니다.이 모드도 디폴트모드입니다단,
insertmode
옵션이 지정됩니다. - 비주얼 모드 – 일반 모드와 비슷하지만 텍스트 영역을 강조 표시하는 데 사용됩니다.일반 명령은 강조 표시된 영역에서 실행할 수 있습니다(예: 선택 항목을 이동하거나 편집).
- 삽입 모드 – 대부분의 최신 편집기에서 편집하는 모드와 유사합니다.이 모드에서는 텍스트를 삽입하여 버퍼를 변경할 수 있습니다.
- 명령줄 모드 또는 Cmdline 모드– Vim 창 하단에 한 줄 입력 지원일반 명령어(로 시작)
:
및 특정 액션(패턴 검색 및 filter 명령어 포함)에 대한 기타 키도 이 모드를 활성화합니다.명령어가 완료되면 Vim은 이전 모드로 돌아갑니다.
Vim은 커스터마이즈성과 확장성이 뛰어나 텍스트 편집 [36]환경에 대한 대량의 제어와 유연성을 필요로 하는 사용자에게 매력적인 도구입니다.키보드 효율을 높이기 위해 설계된 다양한 기능으로 텍스트 입력이 용이해집니다.사용자는 "키 매핑"을 사용하여 복잡한 명령을 실행할 수 있습니다. 이 명령어는 커스터마이즈 및 확장할 수 있습니다."녹음" 기능을 사용하면 매크로를 생성하여 키 입력 시퀀스를 자동화하고 내부 또는 사용자 정의 함수 및 매핑을 호출할 수 있습니다.매크로나 키 맵핑과 같은 약어는 짧은 문자열을 긴 문자열로 확장하는 데 도움이 되며 오류를 수정하는 데에도 사용할 수 있습니다.또, Vim은, 보다 심플한 [37]텍스트 편집 솔루션을 필요로 하는 유저에게 「간단한」모드도 갖추고 있습니다.
Vim에 새로운 기능을 추가하거나 확장하는 많은 플러그인을 사용할 수 있습니다.이러한 플러그인은 보통 Vim의 내부 스크립트 언어인 vimscript([38]VimL이라고도 함)로 작성되지만 다른 언어로도 작성될 수 있습니다.
복잡한 스크립트와 커스터마이즈를 묶은 프로젝트가 있습니다.Vim을 특정 태스크의 도구로 만들거나 Vim 동작에 큰 풍미를 더하는 것을 목적으로 하고 있습니다.예를 들어 클릭 앤 타입 에디터처럼 동작하게 하는 Cream이나 Unix 계열 시스템 사용자에게 쾌적한 아웃라이너를 제공하는 Vim Outliner 등이 있습니다.
vivi에 대한
Vim에는 vi 호환성 모드가 있지만 이 모드를 사용하지 않을 경우 Vim에는 [39]vi보다 많은 기능이 강화됩니다.단, 호환성 모드에서도 Vim은 단일 Unix 사양[40] 및 POSIX에 정의된 바와 같이 vi와 완전히 호환되지는 않습니다(예를 들어 Vim은 vi의 오픈 모드를 지원하지 않고 비주얼 모드만 지원합니다).Vim의 개발자는 [41]Vi와 매우 호환성이 있다고 말합니다.
Vim의 확장 기능에는 포괄적인 통합 도움말 시스템(vimdiff라고 함), 확장 정규 표현, 스크립트 언어(Perl, Python, Ruby, Tcl 등 네이티브 및 대체 스크립트 인터프리터 사용)의 완료, 비교 및 Marge가 포함됩니다(플러그인, 그래피컬 사용자 인터페이스(kno).wn as gvim), 제한된 통합 개발 환경 유사 기능, 마우스 조작(GUI 유무에 관계없이), gzip, bzip2, zip, tar 형식의 압축 파일 또는 아카이브 파일 및 SSH, FTP, HTTP 등의 네트워크 프로토콜을 통한 파일 폴딩, 편집, 세션 상태 보존, 맞춤법 검사, 분할(수평 및 수직) 및 tabbed 창, Unicode 및 기타 다국어 지원, 구문 강조 표시, 전송 세션명령어, 검색 및 커서 위치 이력, 편집 세션 전체에 걸쳐 지속 가능한 다단계 및 분기 실행 취소/재도 이력, 비주얼 모드.
실행 중 Vim은 사용자의 변경 내용을 .swp 확장자로 스왑 파일에 저장합니다.스왑 파일을 사용하여 크래시 후 복구할 수 있습니다.사용자가 파일을 열려고 하고 스왑 파일이 이미 존재하는 경우 Vim은 사용자에게 경고하고 사용자가 계속 진행하면 확장자가 ".swo"인 스왑 파일(또는 이미 여러 개의 스왑 파일이 있는 경우 ".swn", ".swm" 등)[42][43]을 사용합니다.이 기능은 [44]디세블로 할 수 있습니다.
VIM 스크립트
Vim 스크립트(Vimscript 또는 [45]VimL이라고도 함)는 Vim에 [46]내장된 스크립트 언어입니다.원래 vi 에디터의 ex 에디터 언어를 기반으로 Vim의 초기 버전에서는 제어 흐름과 함수 정의에 대한 명령어가 추가되었습니다.버전 7 이후 Vim 스크립트는 목록 및 사전과 같은 고급 데이터 유형 및 (단순한 형식의) 객체 지향 프로그래밍도 지원합니다.다음과 같은 기능이 내장되어 있습니다.map()
그리고.filter()
는 기본적인 형식의 기능 프로그래밍을 가능하게 하며 Vim 스크립트는 버전 8.0 이후 람다를 갖추고 있습니다.Vim 스크립트는 대부분 필수 프로그래밍 스타일로 작성됩니다.
VIM 매크로에는 일련의 일반 모드 명령을 포함할 수 있지만 Vim 스크립트로 작성된 ex 명령이나 함수를 호출하여 더 복잡한 작업을 수행할 수도 있습니다.핵심 Vim 기능의 거의 모든 확장 기능(플러그인 또는 보다 일반적인 스크립트라고 함)은 Vim 스크립트로 작성되지만 플러그인은 Perl,[47] [48]Python, Lua,[49] [50]Ruby, Tcl [51]또는 [52]Racket과 같은 다른 언어도 사용할 수 있습니다.이러한 플러그인은 수동으로 설치하거나 Vundle, Pathogen 또는 Vim-Plug과 같은 플러그인 관리자를 통해 설치할 수 있습니다.
Vim 스크립트 파일은 다른 코드와 마찬가지로 일반 텍스트로 저장되며 일반적으로 파일 확장자는.vim
이에 대한 한 가지 주목할 만한 예외는 Vim의 설정 파일입니다..vimrc
.
예
Vim 스크립트의 Hello World 프로그램입니다.echo "Hello, world!" 이것은 Vim 스크립트의 단순한 while 루프입니다.i = 1일 때 i < 5 에코 "count is"는 i + =1이 끝나는 동안 i를 unlete로 합니다.
유용성
vi는 원래 Unix 운영체제에서만 사용할 수 있었지만 Vim은 Amiga를 포함한 많은 운영체제에서 사용할 수 있습니다.OS(초기 타깃 플랫폼), Windows NT 3.1, OS/2, OS/390, MorphOS, OpenVMS, QNX, RISC OS, Linux, BSD 및 Classic Mac [53]OS에서 시작하는 Atari MiNT, BeOS, DOS, Windows.또한 Vim은 모든 Apple macOS [54]복사본과 함께 배송됩니다.
Android 및 iOS에서[55][56] [57]Vim의 독립 포트를 사용할 수 있습니다.
네오빔
![]() | |
기타 이름 | NVIM |
---|---|
초기 릴리즈 | 2015년 11월 [58] | , 전(
안정된 릴리스 | 0.7.0 / 2022년 4월 [58] ) ; 전 ( |
저장소 | https://github.com/neovim/neovim |
기입처 | C, Vim 스크립트, Lua |
운영 체제 | Microsoft Windows 및 Unix와 유사 |
면허증. | Apache-2.0 |
웹 사이트 | neovim |
Neovim은[60] Vim의 [61]확장성과 유지보수를 향상시키기 위해 노력하는 Vim의 포크입니다.포크의 일부 기능에는 내장 언어 서버 프로토콜 지원과 Lua를 사용한 [62]스크립팅 지원이 있습니다.Neovim은 Vim과 동일한 구성 구문을 가지고 있습니다(vim9script를 사용하지 않는 한). 따라서 두 에디터에서 동일한 구성 파일을 사용할 수 있습니다.단,[63] 옵션의 세부 사항은 약간 다릅니다.Neovim의 추가된 기능을 사용하지 않을 경우 Neovim은 Vim의 거의 [64]모든 기능과 호환됩니다.
Neovim 프로젝트는 2014년에 시작되었으며, 일부 Vim 커뮤니티 구성원들은 보다 나은 스크립팅, 플러그인 및 최신 [65][66]GUI와의 통합을 제공하기 위한 높은 수준의 리팩터링 작업을 조기에 지원합니다.이 프로젝트는 무료 소프트웨어이며 소스 코드는 GitHub에서 [67]이용할 수 있습니다.
Neovim은 2014년 [68]3월에 적어도 한 명의 전임 개발자를 지원하는 성공적인 기금 모금을 했습니다.네오빔의 능력을 [69][70][71]활용한 프런트엔드가 여러 개 개발 중에 있다.
Neovim 편집기는 Canonical 및 일부 기존 패키지 [73]관리자가 호스팅하는 Ubuntu Personal Package [72]Archive에서 사용할 수 있으며 다양한 운영 체제에 설치할 수 있습니다.
「 」를 참조해 주세요.
- O'Reilly Media에서 출판된 vi 및 vim용 튜토리얼북 vi 및 Vim 에디터 학습
- 에디터 전쟁– Emacs와 vi(Vim) 텍스트 에디터 사용자 간의 경쟁
- 텍스트 편집기 목록
- 텍스트 편집기 비교
- 임페라토르
레퍼런스
- ^ "Vim 9.0", 부제: vim online, 검색: 2022년 7월 1일, 발행일: 2022년 6월.
- ^ "vim/LICENSE". github.com. 20 October 2021.
- ^ "Vim License". spdx.org.
- ^ a b c "Vim: uganda.txt". vimhelp.org.
- ^ VIM 매뉴얼 소개: "Vim은 짐과 같이 vi-ai-em이 아니라 한 단어로 발음됩니다.이름이니까 대문자로 써 있어요. 짐처럼요.
- ^ Zapletal, Lukáš (18 April 2005), "Interview: Bram Moolenaar", LinuxEXPRES: 21–22, retrieved 5 February 2015,
Is VIM derivate of other VI clone or you started from scratch? I started with Stevie. This was a Vi clone for the Atari ST computer, ported to the Amiga. It had quite a lot of problems and could not do everything that Vi could, but since the source code was available I could fix that myself. (English translation)
{{citation}}
:외부 링크
(도움말)quote=
- ^ "Linux Journal: 2003 Readers' Choice Awards". 1 November 2003. Retrieved 24 May 2006.;;
- ^ "Stack Overflow Developer Survey 2015 § IV. Text Editor". Stack Overflow. Retrieved 25 July 2016.
- ^ "Stack Overflow Developer Survey 2019 Results". Stack Overflow § VII. Development Environments. Retrieved 20 July 2019.
- ^ a b c d Thompson, Tim (26 March 2000). "Stevie". Retrieved 27 December 2010.
- ^ a b Tim Thompson (28 June 1987). "A mini-vi for the ST". Newsgroup: comp.sys.atari.st. Usenet: 129@glimmer.UUCP. Retrieved 27 December 2010.
- ^ a b Tony Andrews (6 June 1988). "v15i037: Stevie, an "aspiring" VI clone for Unix, OS/2, Amiga". Newsgroup: comp.sources.unix. Usenet: 893@fig.bbn.com. Retrieved 27 December 2010.
- ^ Vim (20 January 2015). "intro.txt". Vim Help. Vim. Archived from the original on 9 July 2016. Retrieved 9 July 2016.
- ^ "vim(1)". die.net. Vim. 11 April 2006. Archived from the original on 9 July 2016. Retrieved 9 July 2016.
Vim is based on Stevie, worked on by: Tim Thompson, Tony Andrews and G.R. (Fred) Walter. Although hardly any of the original code remains.
- ^ "The continuing story of Vim" (PDF).
- ^ "The history of Vim – Jovica Ilic". 5 June 2014. Retrieved 25 January 2020.
- ^ a b c "VILE (Vi Like Emacs) – Frequently Asked Questions (FAQ)". Retrieved 7 September 2019.
- ^ a b c d e f Moolenaar, Bram (15 January 2002). "Vim, an open-source text editor". Retrieved 24 October 2005.
- ^ "Textfiles.com".
- ^ "Filewatcher". Archived from the original on July 11, 2011. Retrieved February 26, 2011.
- ^ "Official Vim Manual, Version 4 summary". 12 March 2004. Retrieved 6 August 2008.
- ^ "Official Vim Manual, Version 5 summary". 17 January 2004. Retrieved 6 August 2008.
- ^ "Official Vim Manual, Version 6 summary". 12 March 2004. Retrieved 6 August 2008.
- ^ "Vim Reference Manual, Version 7". 17 July 2016. Retrieved 13 January 2019.
- ^ "Google Groups". groups.google.com.
- ^ 구글 토론회Groups.google.com 를 참조해 주세요.2013-12-09에 취득.
- ^ Bram Moolenaar. "Vim 8.0 released!". Retrieved 12 September 2016.
- ^ Bram Moolenaar. "Vim 8.1 is released!". Retrieved 18 May 2018.
- ^ Bram Moolenaar. "Vim 8.2 is released!". Retrieved 13 December 2019.
- ^ Bram Moolenaar. "Vim 9.0 is released!". Retrieved 30 June 2022.
- ^ Lamb, Linda; Robbins, Arnold (1998). Learning the Vi Editor. O'Reilly Media, Inc. p. 305. ISBN 9781565924260.
- ^ Moolenaar, Bram (3 November 2010). "Vim documentation: usr_01". Retrieved 28 August 2019.
- ^ vimhelp.org에 있는 도움말 파일
- ^ Oualline, Steve (April 2001). Vi IMproved (VIM) (PDF). New Riders Publishers. ISBN 0-7357-1001-5.
- ^ Moolenaar, Bram (8 December 2010). "Vim documentation: intro". vimdoc.sourceforge.net. Archived from the original on 27 August 2019. Retrieved 28 August 2019.
- ^ Melendez, Steven (28 October 2014). "Why Vim, An '80s Text Editor, Is Still The UI Of Choice For Power Users". FastCompany. Retrieved 5 May 2019.
- ^ "Tips: Making Vim easy". Linux.com. 10 April 2007. Retrieved 6 May 2019.
- ^ "Vim documentation: usr_41". vimhelp.org.
- ^ VIM 도움말 시스템(타입 ")
:help
" VIM 내) - ^ The Open Group (2008), "vi — screen-oriented (visual) display editor", Single Unix Specification, Version 4 (IEEE Std 1003.1–2008), retrieved 27 December 2010
- ^ Peppe; Benji; Campbell, Charles (2 January 2004). "Vim FAQ". Retrieved 27 December 2010. (질문 1.3)
- ^ "Vim documentation: recover". vimdoc.sourceforge.net. Retrieved 17 December 2020.
- ^ "How to handle swapfiles in Vim". cs.longwood.edu. Retrieved 17 December 2020.
- ^ "'swapfile' option". vimhelp.org. 10 October 2020. Retrieved 18 December 2020.
- ^ Klein, Benjamin. "The VimL Primer: Edit Like a Pro with Vim Plugins and Scripts by Benjamin Klein The Pragmatic Bookshelf". Archived from the original on 25 January 2020. Retrieved 25 January 2020.
- ^ "Vim documentation: usr_41". vimhelp.org.
- ^ Verdoolaege, Sven; Gerassimof, Matt. "Vim documentation: if_perl". Retrieved 27 August 2019.
- ^ Moore, Paul. "Vim documentation: if_pyth". Retrieved 27 August 2019.
- ^ Carvalho, Luis. "Vim documentation: if_lua". Retrieved 27 August 2019.
- ^ Maeda, Shugo. "Vim documentation: if_ruby". Retrieved 27 August 2019.
- ^ Wilken, Ingo. "Vim documentation: if_tcl". Retrieved 27 August 2019.
- ^ Khorev, Sergey. "Vim documentation: if_mzsch". Retrieved 27 August 2019.
- ^ "
:help sys-file-list
"
"Vim Online: Downloads". Retrieved 7 January 2007. - ^ "Mac OS X Manual Page For vim(1)". developer.apple.com. Apple Inc. Retrieved 12 January 2010.
- ^ "VimTouch, the development has stalled on this app". GitHub. Retrieved 9 August 2015.
- ^ "DroidVim, under active development". GitHub. Retrieved 5 March 2017.
- ^ "Vim – Applidium, mobile agency in Paris". Archived from the original on 20 January 2012. Retrieved 11 August 2015.
- ^ a b "Releases • neovim/neovim". GitHub. Retrieved 15 July 2021.
- ^ "NVIM v0.7.0". 15 April 2022. Retrieved 29 April 2022.
- ^ "Neovim: vim, out of the box".
- ^ "Neovim Vision".
- ^ "Nvim documentation: vim_diff".
- ^ "Switching to NeoVim".
- ^ "How to start using Neovim instead of Vim".
- ^ "Neovim: Rebuilding Vim For the 21st Century".
- ^ "Vimcasts.org blog post".
- ^ "GitHub – neovim/neovim: Vim-fork focused on extensibility and usability". GitHub. 29 August 2019.
- ^ "Neovim". Bountysource. 23 March 2014. Retrieved 20 March 2021.
- ^ "NyaoVim frontend". GitHub. 29 August 2019.
- ^ "Mac OS X frontend". GitHub. 29 August 2019.
- ^ "Neovim-Qt frontend". GitHub. 21 July 2020.
- ^ "Neovim PPA information".
- ^ "Neovim wiki: installation instructions". GitHub. 29 August 2019.
외부 링크

