uuid: - value: abd5479c-e5d2-46ba-8687-0c5d37b31bfe langcode: - value: en type: - target_id: daily_email target_type: node_type target_uuid: 8bde1f2f-eef9-4f2d-ae9c-96921f8193d7 revision_timestamp: - value: '2025-05-11T09:00:46+00:00' revision_uid: - target_type: user target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849 revision_log: { } status: - value: true uid: - target_type: user target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849 title: - value: | How I use Neovim for writing PHP created: - value: '2023-04-10T00:00:00+00:00' changed: - value: '2025-05-11T09:00:46+00:00' promote: - value: false sticky: - value: false default_langcode: - value: true revision_translation_affected: - value: true path: - alias: /daily/2023/04/10/how-i-use-neovim-for-writing-php langcode: en body: - value: |
Since July 2021, I've used Neovim full-time for my development work and writing.
Whilst Vim and Neovim are minimal by default, its functionality can be extended by adding plugins.
I use nvim-lspconfig along with Intelephpense and Phpactor to add code actions and functionality like "go to definition" for PHP code.
I use null-ls to apply code formatting and add diagnostic messages for PHPCS and PHPStan so I can see them on the appropriate lines.
I use nvim-dap and nvim-dap-ui to leverage the debug adapter protocol to do step debugging with Xdebug.
Along with others like dadbod.vim for databases, rest.nvim for making HTTP requests, Gitsigns and Fugitive for Git, and Telescope for fuzzy searching, I have all of the functionality that I've previously had in other browsers with the benefit that it's open source and I can add more plugins or write my own if I need to add anything else.
format: full_html processed: |Since July 2021, I've used Neovim full-time for my development work and writing.
Whilst Vim and Neovim are minimal by default, its functionality can be extended by adding plugins.
I use nvim-lspconfig along with Intelephpense and Phpactor to add code actions and functionality like "go to definition" for PHP code.
I use null-ls to apply code formatting and add diagnostic messages for PHPCS and PHPStan so I can see them on the appropriate lines.
I use nvim-dap and nvim-dap-ui to leverage the debug adapter protocol to do step debugging with Xdebug.
Along with others like dadbod.vim for databases, rest.nvim for making HTTP requests, Gitsigns and Fugitive for Git, and Telescope for fuzzy searching, I have all of the functionality that I've previously had in other browsers with the benefit that it's open source and I can add more plugins or write my own if I need to add anything else.
summary: null field_daily_email_cta: { }