@florianm__
@matarld

Et comment on fait sans PHPStorm ?

@florianm__
@matarld
1. développer efficacement
2. avoir un outil gratuit
3. pouvoir customiser l'IDE
4. rester dans le terminal
@florianm__
@matarld

#1 nano

@florianm__
@matarld

simple 👍

ready to go 👍

digital ocean 😎

"classique" 👍

léger 👍

#1 nano

@florianm__
@matarld

(très) pauvre 😢

pas performant 😔

peu customisable 😭

pas standard (digital ocean 👀)

#1 nano

@florianm__
@matarld

  avoir un outil gratuit

  rester dans le terminal

  développer efficacement

  pouvoir customiser l'IDE

#2 VI

@florianm__
@matarld

configurable 👍

grosse communauté 👍

performant 👍

fonctionnalités 👍

#2 VI

@florianm__
@matarld

complexe 😫

apprentissage 😬

✨vimtutor✨

Panik

Kalm

@florianm__
@matarld

#2 VI

@florianm__
@matarld

#2 VI

#3 VIM

@florianm__
@matarld

macros

manipulation

déplacements

#3 VIM

plugins

scripting

@florianm__
@matarld

  avoir un outil gratuit

  rester dans le terminal

 🥭🍇 développer efficacement

 🥭🍇 pouvoir customiser l'IDE

#3 VIM

@florianm__
@matarld

#4 Neovim

@florianm__
@matarld

#4 Neovim

défauts et mapping

-- init.lua

require("core.options")
require("core.keymaps")
-- lua/core/keymaps.lua

vim.keymap.set("n", "<C-s>", ":w <CR>")

vim.keymap.set("n", "<leader>cs", function ()
  local buffer = vim.fn.expand("%") 
  
  vim.cmd(string.format("!php-cs-fixer fix %s --quiet", buffer))
  vim.cmd('e')
end)
-- lua/core/options.lua

vim.opt.mapleader = " "

vim.opt.ignorecase = true
vim.opt.hlsearch = true

vim.opt.shiftwidth = 4
vim.opt.expandtab = true
@florianm__
@matarld

#4 Neovim

plugins

@florianm__
@matarld

#4 Neovim

plugins

nvim-tree

lualine

barbar

phpactor

telescope

fugitive

gitsigns

argwrap

surround

fzf

PHPActor

@florianm__
@matarld

#4 Neovim

LSP

(OSS FTW!)

@florianm__
@matarld

#4 Neovim

  avoir un outil gratuit

  rester dans le terminal

  développer efficacement

  pouvoir customiser l'IDE

@florianm__
@matarld

#X PDE

@florianm__
@matarld

  tmux

  i3

  regolith

Maintenant, c'est à vous ! 💪

@florianm__
@matarld

  vimtutor

  ideavim

  keymap/options

  plugins

@florianm__
@matarld
nnoremap <silent> <Plug>(ArgWrapToggle) :call argwrap#toggle() <BAR>
  \ silent! call repeat#set("\<Plug>(ArgWrapToggle)")<CR>
  
echo "FOO" == "foo"

function! s:loadGlobalHooks() abort " {{{
  if !exists('g:argwrap_global_hooks')
    let g:argwrap_global_hooks = []

    for hook in globpath(&runtimepath, 'autoload/argwrap/hooks/*.vim', 0, 1)
      let l:filename = matchstr(hook, '\vhooks/\zs.+\ze\.vim$')

      call add(g:argwrap_global_hooks, printf('argwrap#hooks#%s', l:filename))
    endfor
  endif

  return g:argwrap_global_hooks
endfunction " }}}

#3 VIM

@florianm__
@matarld

#5 Helix

By starting from scratch we were able to learn from our experience with Vim and make some breaking changes. The result is a much smaller codebase and a modern set of defaults. It's easier to get started if you've never used a modal editor before, and there's much less fiddling with config files.

#5 Helix

@florianm__
@matarld

selection  action 👍

curseurs multiples 👍

fonctionnalités 👍

récent 😢

sur peu de systèmes 😔

aucun plugin 😭

#5 Helix

@florianm__
@matarld

[Meetup Afup Lyon 2023] Neovim

By Florian David Merle

[Meetup Afup Lyon 2023] Neovim

  • 169