来替换掉你的vim,打造堪比IDE的编辑工具

neovim 安装配置

预览

image

依赖 neovim/neovim: Vim-fork focused on extensibility and usability (github.com)

install

Windows

winget install Neovim.Neovim

Homebrew on macOS or Linux

brew install neovim

安装Nvim的开发版本:

brew install --HEAD neovim

更新Nvim的开发版本:

brew upgrade neovim --fetch-HEAD

linux or mac 编译安装

curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim.appimage
chmod u+x nvim.appimage
./nvim.appimage

如果 ./nvim.appimage 执行失败, 试试:

./nvim.appimage --appimage-extract
./squashfs-root/AppRun --version

# Optional: exposing nvim globally.
sudo mv squashfs-root /
sudo ln -s /squashfs-root/AppRun /usr/bin/nvim
nvim

CentOS 8 / RHEL 8

Neovim is available through EPEL (Extra Packages for Enterprise Linux)

yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
yum install -y neovim python3-neovim

Clear Linux OS

Neovim is available through the neovim bundle

sudo swupd bundle-add neovim

nvim 配置

source: github.com/congyukun/nvim

  1. create folder
    mkdir -p ~/.config/nvim && cd  ~/.config/nvim &&  git clone https://github.com/congyukun/nvim.git 
  2. Go to directory
    cd  ~/.config/nvim/lua/plugins
  3. nvim edit plugins-setup.lua
    nvim plugins-setup.lua
  4. install plugins
    <esc> :w 
  5. wait a moment

    快捷键

vim.g.mapleader = " "

local keymap = vim.keymap

-- <CR> = enter
-- ---------- 插入模式 insert ---------- ---
keymap.set("i", "kk", "<ESC>")
keymap.set("i", "<leader>q", "<ESC>:q!<CR>")
keymap.set("i", "<leader>wq", "<ESC>:wq<CR>")
keymap.set("i", "<leader>w", "<ESC>:w!<CR>")

-- 跳到行首行尾 Jump to the end of the first line
keymap.set('i', '<C-h>', '<Esc>I', opt)
keymap.set('i', '<C-l>', '<Esc>A', opt)

-- ---------- 视觉模式  Visual ---------- ---
-- 单行或多行移动 Single-line or multi-line movement
keymap.set("v", "<leader>j", ":m '>+1<CR>gv=gv")
keymap.set("v", "<leader>k", ":m '<-2<CR>gv=gv")

-- ---------- 正常模式 Normal---------- ---
-- 窗口
keymap.set("n", "<leader>d", "<C-w>v") -- 水平新增窗口 Horizontal new window
keymap.set("n", "<leader>D", "<C-w>s") -- 垂直新增窗口 Vertical new window
keymap.set("n", "<leader>sc", "<C-w>c", opt) -- sc 关闭当前分屏 Close current split screen  (s = close)
keymap.set("n", "<leader>so", "<C-w>o", opt) -- so 关闭其他分屏 Close other split screens (o = other)

-- Alt + hjkl 在窗口之间跳转 Jump between windows
keymap.set('n', '<C-h>', '<C-w>h', opt)
keymap.set('n', '<C-j>', '<C-w>j', opt)
keymap.set('n', '<C-k>', '<C-w>k', opt)
keymap.set('n', '<C-l>', '<C-w>l', opt)
-- 取消高亮 Unhighlight
keymap.set("n", "<leader>nh", ":nohl<CR>")

-- 切换buffer change buffer
keymap.set("n", "<C-L>", ":bnext<CR>")
keymap.set("n", "<C-H>", ":bprevious<CR>")

-- ---------- plugins ---------- ---
-- nvim-tree
keymap.set("n", "<leader>e", ":NvimTreeToggle<CR>")



-- <leader>t 开启终端 create new Terminal
keymap.set('n', '<leader>t', ':sp | terminal<CR>', opt)
keymap.set('n', '<leader>T', ':vsp | terminal<CR>', opt)
-- <Esc> 退出终端 quit Terminal
keymap.set('t', '<Esc>', '<C-\\><C-N>', opt)
-- 终端窗口中进行窗口切换 Window switching in terminal window
keymap.set('t', '<C-h>', [[ <C-\><C-N><C-w>h ]], opt)
keymap.set('t', '<C-j>', [[ <C-\><C-N><C-w>j ]], opt)
keymap.set('t', '<C-k>', [[ <C-\><C-N><C-w>k ]], opt)
keymap.set('t', '<C-l>', [[ <C-\><C-N><C-w>l ]], opt)



-- H 移动到行首(Move to the beginning of the line),L 移动到行尾(Move to end of line)
keymap.set('n', 'H', '^', opt)
keymap.set('n', 'L', 'g_', opt)

-- 上下滚动浏览(Scroll up and down)
keymap.set('n', '<C-U>', '4j', opt)
keymap.set('n', '<C-D>', '4k', opt)
-- 修改 Ctrl-u 和 Ctrl-d 的移动幅度 从默认的移动半瓶改为移动 9 行
keymap.set('n', '<C-u>', '9k', opt)
keymap.set('n', '<C-d>', '9j', opt)


-- 退出 quit
keymap.set('n', 'q', ':q<CR>', opt)
keymap.set('n', 'qq', ':q!<CR>', opt)
keymap.set('n', 'Q', ':qa!<CR>', opt)
本作品采用《CC 协议》,转载必须注明作者和本文链接
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 14

phpstorm不是 挺香的吗? :joy: :joy:

1年前 评论
kunSir (楼主) 1年前
Epona

最近改用LazyVim了, 也不错

1年前 评论
kunSir (楼主) 1年前
Epona (作者) 1年前
kunSir (楼主) 1年前

phpStorm是真香。。。 但是要钱。。。 我还是好老的一个版本,2021.2吧,将就用。。。

1年前 评论
kunSir (楼主) 1年前
yyy123456 1年前
panda-sir

写代码还是ide+ideavim 服务器上用的话 自带的vim足够了

1年前 评论

LuraVim接近零配置

11个月前 评论
kunSir (楼主) 11个月前

这个的用途是在服务器或者说linux上编程? 服务器还是简单的修改配置文件就好,编程放在本地电脑,测试放在服务器

11个月前 评论
kunSir (楼主) 11个月前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!