01/10/2018, 11:10

Sử dụng vim để lập trình trên ubuntu

Em thấy mn bảo dùng emacs tốt hơn, nhưng theo cá nhân thì e thích vim hơn, vì thế e đăng bài xin tài liệu học vim
Tài liệu trên mạng thì chủ yếu nói về cách tạo file, lưu file, coppy,… https://kipalog.com/posts/Lam-quen-VIM-trong-5-phut

e muốn biết cách mọi người tạo một project làm việc trên vim như nào? chia các khung ra để làm gì trong khi viết ở một cái thì cái kia cũng thay đổi theo?Hãy chỉ e cách chuẩn bị và làm việc trên vim hay ubuntu ạ!

https://kipalog.com/posts/Di-cu-tu-Sublime-Text-sang-VIM

tại sao lại phải chuyển từ sulime-text sang vim ạ? e thấy sublime text có nhiều Package hỗ trợ hơn vim mà.

ai quan tâm, giúp đỡ e hãy bình luận dưới bài viết và để lại mail. E muốn liên hệ trực tiếp để học hỏi lâu dài ạ! E cảm ơn

Cho e hỏi ngu thêm câu nữa là dùng vim với mục đích học tập thôi ạ, có dùng để viết ứng dụng hay phần mềm không ạ?

Le Rêveur viết 13:22 ngày 01/10/2018

Nó chỉ là một cái editor thôi.
Ai thích gì thì dùng cái đấy, SublimeText bật vintage mode dùng “kha khá” giống vim được.
Đừng nâng cao quan điểm làm gì.

Dark.Hades viết 13:21 ngày 01/10/2018

Mình chắc chăn chưa có editor nào package nhiều bằng vim.

Để bạn có thể làm 1 cái dotfiles như mình, đầy đủ ứng dụng:

GitHub

HadesD/dotfiles

dotfiles - List customize [dot] files config.

Plugin list:
https://github.com/HadesD/dotfiles/tree/master/.vim/bundle

https://github.com/ryanoasis/vim-devicons/wiki/screenshots/v0.9.x/overall-screenshot.png

Tao Không Ngu. viết 13:12 ngày 01/10/2018

Hi Việt Hùng.

Thuở ban đầu Vim chỉ thuần Lisp điều này khiến cho cộng đồng dần thấy nó không đáp ứng được nhu cầu ngày càng cao của các coder, sau đó Vim đã mở rộng sử dụng thêm các module Python, Ruby, Perl khiến cho Vim có một sức mạnh thực sự khi hỗ trợ rộng hơn các plugin có các chức năng phức tạp hơn. Nhưng ta thấy rằng việc thêm các module này không nằm trong sự tính toán khi Vim được tạo ra, khiến ta cảm tưởng rằng Vim và các module khá rời rạc, đôi lúc dùng ta thấy các plugin hoạt động không được ổn …

Việc bạn dùng gì không quan trọng. Quan trọng là bạn dùng nó như thế nào. Bạn có thể dùng bất kể cái gì bạn thích cho đến khi bạn dùng hết khả năng của nó rồi nhưng không đáp ứng nhu cầu của bạn thì bạn có thể chuyển qua cái khác hoặc tự tạo cho mình một cái nếu thích.

Việt Hùng viết 13:16 ngày 01/10/2018

bạn có thể hướng dẫn chi tiết cho mình (mọi thứ), mới sử dụng nên mình rất kém.

Dark.Hades viết 13:20 ngày 01/10/2018

bỏ qua dòng đó đi bạn, máy bạn chắc k cần cài thêm package đó đâu.

Việt Hùng viết 13:19 ngày 01/10/2018

Dark.Hades ơi, sao mình cài emmet vào gõ html:5 rồi ấn ctrl+y hay ctrl+z đều không được, mình làm theo hướng dẫn trong đây

kipalog.com

Tùy biến Vim với Vundle và Powerline

Giới thiệu (Ảnh) Vim là một text editor nổi tiếng, có mặt trên tất cả các hệ điều hành và phổ biến nhất là trên hệ Linux/Unix. Không phải ngẫu nh...

Dark.Hades viết 13:11 ngày 01/10/2018

Bạn cài như thế nào?

Mình khuyên nên cài pathogen để cài, nếu là Vundle thì sau khi add vào .vimrc bạn phải chạy lệnh :PluginInstall nó mới cài cho bạn, mà setting nhiều linh tinh, tốt nhất cài thằng pathogen sau đó git clone về ~/.vim/bundle/ là xong

Nếu chưa rõ thì inbox teamview mình hỗ trợ cho

Việt Hùng viết 13:13 ngày 01/10/2018

mình cài bằng Vundle , add vào vimrc rồi, mục vimrc của mình ở trong /etc/vim/vimrc xong :PluginInstall rồi, ngon rồi mà ấn thì chẳng được, bạn cài như trong hinh này cho mình với, thêm vài package hỗ trợ lập trình nữa, tks bạn


bao giờ b on thì teamviewer cài hộ mình

Anh Tú viết 13:26 ngày 01/10/2018

Muốn dùng vim, bạn cần quên khái niệm dùng chuột và các phím arrow đi. Và đừng dùng vim chỉ bởi vì “nhiều người khen”. Hãy dùng vì lý do hợp lý.

Tìm thêm các bài viết về vim ở đây http://www.familug.org/search?q=Vim&m=1

Việt Hùng viết 13:22 ngày 01/10/2018

tkaks bạn, thế những plugin mình để trong ./vimrc xóa đi hết à b

Việt Hùng viết 13:12 ngày 01/10/2018

mình cài theo vundle, bạn có dùng plugin emmet không? cách gõ tắt như nào vậy? bạn chỉ mình một số plugin hay được không, trên mạng hướng dẫn chung quá. Mình lại là người mới nữa

Anh Tú viết 13:13 ngày 01/10/2018

Nếu không hiểu tác dụng của plugin nào thì xóa Plugin đấy đi.
Nên luyện qua Tutor của vim và https://vim-adventures.com/

Nên biết Vim có 3 mode, một là normal, 2 là visual, 3 là insert.

Emmet thì ví dụ div.container>div.card*5 (mode insert) rồi esc (mode normal) rồi CTRL + y + , (kích hoạt plugin emmet vim cho đoạn code vừa xong), thì sẽ nhận được kết quả như sau:

Hiểu hem?

Mới dùng vim thì disable toàn bộ phím Arrow đi mà luyện h j k l

Còn lý do h j k l là các phím di chuyển thì cũng khá là … lịch sử. Ảnh dưới là bàn phím ngày xưa cho các linux sysadmin. Thế chắc cũng đủ hiểu rồi.

Một khi dùng Vim thành thạo rồi thì sẽ thấy rất … đã. Mọi thứ đều theo ý mình, và nếu kết hợp với cả tmux thì không cần rời tay khỏi bàn phím khi làm việc nữa. Làm việc trên desktop cũng như trên server đều như nhau.

Nguyen Ca viết 13:17 ngày 01/10/2018

Trước giờ chỉ dùng vim khi phải remote qua server khác làm việc, đối lúc chỉnh sửa file cấu hình, này nọ thì vim tiện thật. đỡ bật win SCP lên :v

Việt Hùng viết 13:26 ngày 01/10/2018

mình hiểu rồi bạn, mà sao vim của mình sau khi viết ấn enter hoặc chuyển sang mode normal thì ấn xóa xong không được
nội dung file vimrc của mình đây

set rtp+=$HOME/.local/lib/python3.5/site-packages/powerline/bindings/vim/
set laststatus=2
set t_Co=256

set nocompatible " be iMproved, required
filetype off " required

" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin(’~/some/path/here’)

" let Vundle manage Vundle, required
Plugin ‘VundleVim/Vundle.vim’

Plugin ‘jiangmiao/auto-pairs’
Plugin ‘scrooloose/nerdtree’
Plugin ‘mattn/emmet-vim’
Plugin ‘Valloric/YouCompleteMe’

" All of your Plugins must be added before the following line
call vundle#end() " required
filetype plugin indent on " required
" To ignore plugin indent changes, instead use:
"filetype plugin on
"
" Brief help
" :PluginList - lists configured plugins
" :PluginInstall - installs plugins; append ! to update or just :PluginUpdate
" :PluginSearch foo - searches for foo; append ! to refresh local cache
" :PluginClean - confirms removal of unused plugins; append ! to auto-approve removal
"
" see :h vundle for more details or wiki for FAQ
" Put your non-Plugin stuff after this line

" Set line number
set number

" UTF-8 support
set encoding=utf-8

let python_highlight_all=1
syntax on

" Highlight current line
color desert
set cursorline
hi CursorLine term=bold cterm=bold guibg=Grey40

" Set shortkey for NERDTree
map :NERDTreeToggle

Anh Tú viết 13:17 ngày 01/10/2018

Xóa gì? Xóa bằng cách nào?

Việt Hùng viết 13:25 ngày 01/10/2018

ấn cái nút xóa (<–) trên bàn phím ấy, nếu viết ra xong xóa luôn thì được, nếu ấn enter xong k xóa được nữa

Anh Tú viết 13:20 ngày 01/10/2018

Một câu hỏi cực kỳ ngớ ngẩn, chứng tỏ ngay rằng bạn chưa hề làm những gì tôi đã nói ở trên. Và vì lý do đấy, tôi sẽ không trả lời bất cứ thêm một câu hỏi nào nữa.
Good luck.

Việt Hùng viết 13:11 ngày 01/10/2018

mình chỉ muốn hỏi sao không xóa được thôi, có phải do file vimrc của m sai ở đâu không? Chẳng có chút vớ vẩn nào cả, chuyển sang mode insert viết được nhưng không xóa được, thâm chí lúc vừa mở file cũng chỉ viết thêm được k xóa cái cũ đi được

vd: vim index.html – chuyển sang mode insert (ấn i ) – ấn nút xóa – không được, trước kia thì không bị như này, sau 1 tg vọc vạch nó đã thành như vậy

Dark.Hades viết 13:12 ngày 01/10/2018

Do backspace setting, bạn add cái đoạn này vào .vimrc

" Arrow-able
set nocompatible
" Backspace-able
set backspace=2

Còn không bạn cho cả đoạn này:

set nocompatible
set backspace=2
set modifiable
set number
set incsearch        " Search on typing
set hlsearch         " Highlight search
set showcmd
set cindent
set nobackup
set nowb
set swapfile
set cursorline
set dir=~/tmp
set backupdir=~/tmp,/tmp
set backupskip=/tmp/*,$TMPDIR/*,$TMP/*,$TEMP/*
set directory=/tmp
set autoread
set autowrite
set laststatus=2 " Always show airline
set ttimeoutlen=50
Việt Hùng viết 13:14 ngày 01/10/2018

cảm ơn b, thêm đoạn đầu vào thì không bị nữa

Bài liên quan
0