From nobody Wed Feb 28 19:01:01 2024 X-Original-To: freebsd-questions@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TlNx25Hpjz5C75Y; Wed, 28 Feb 2024 19:01:10 +0000 (UTC) (envelope-from alexey@hotmail.fi) Received: from EUR02-VI1-obe.outbound.protection.outlook.com (mail-vi1eur02olkn20800.outbound.protection.outlook.com [IPv6:2a01:111:f403:2e07::800]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "DigiCert Cloud Services CA-1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TlNx04QFwz4J0r; Wed, 28 Feb 2024 19:01:08 +0000 (UTC) (envelope-from alexey@hotmail.fi) Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of alexey@hotmail.fi designates 2a01:111:f403:2e07::800 as permitted sender) smtp.mailfrom=alexey@hotmail.fi; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EMbF9BTdedSZLZIFrDZ6572ymtprcqfOfcSdzgtbg/OSekQKJLT2iwtVONrMS1qhiJc+Lw5sDFIH0yDGt/BRuP4SsUZwC9mV8PR5XRql5fgKjfhuuMKDLKpiqykJMxzr7PjpeqFVYE12G2xlkFkCPYkvGxpMILJHgVA05nEgb/uUye7R5wjZbrmuC8LE7anxWSBzh87cCOlV6D1Ak3+j7TOOFWxL/t/K6DKctRRiOuTCxrm4G8fTRH4atQ2fYzYSXNLLPV7RvsYBOxy7vUJqAKtyDTg6nQVL5IJFitkrZh8jeVQzF17mpknQrqMGaseNE3smn9KF3xp2aMf3/ibhwg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=smXwuVy9+c6Owo2VgxfqGb+73SIcxkQEIsLs13decug=; b=Iil/GdvGyEuOZRL0vlLOUJgsPEursNlf+GEc7PCMIUO8jstHSWJkA0az8pmHq6/Xcox0QVok7pwyKouwstvHqxKWo+dx1W2iVLn1bgpLKBGgh5QZge9XaMs6x+O/pb0NsgwVaAhpYEuxVCedLzB8ZTypuiHYjn4e8Tq4Nn1cw4JFrB0/Fzt6sBCdqB+bMV14AjC78qs0NCXpddwQXNlyqO8LV5M5foIu1Cv4c7zb4VfhIhHQJgS0RXZh2xv0G8vW3V15heiGtzmDDDLi+TC5uWkKGGT7PAx3yQtFIBZGBy3xMuZVESFT2L6UEbmZqmWOsbZriXCDPKMfqJTGczagRQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none Received: from PAVPR08MB9506.eurprd08.prod.outlook.com (2603:10a6:102:314::13) by DB4PR08MB9333.eurprd08.prod.outlook.com (2603:10a6:10:3f6::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7316.36; Wed, 28 Feb 2024 19:01:04 +0000 Received: from PAVPR08MB9506.eurprd08.prod.outlook.com ([fe80::5bcd:f728:62a1:a160]) by PAVPR08MB9506.eurprd08.prod.outlook.com ([fe80::5bcd:f728:62a1:a160%4]) with mapi id 15.20.7316.035; Wed, 28 Feb 2024 19:01:04 +0000 Date: Wed, 28 Feb 2024 21:01:01 +0200 From: Alexey Vyskubov To: questions@freebsd.org, freebsd-questions Subject: Re: Remote development with neovim, tmux and SSH from macOS? Message-ID: Mail-Followup-To: questions@freebsd.org, freebsd-questions References: <6-vIFoipZvllLfrAwkIMmQ72B1mFYwcw7IRtdlG0JxM_2y5iN2WPWwMF1PVY8YWHw4jrx270Rg3PlA2qaVeJIPyudjoOhd-kdGd1Bt0M7m4=@protonmail.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-TMN: [IdAadkCpr4y/IZdRvgWxesH5RjnSsuuR] X-ClientProxiedBy: MM0P280CA0105.SWEP280.PROD.OUTLOOK.COM (2603:10a6:190:9::14) To PAVPR08MB9506.eurprd08.prod.outlook.com (2603:10a6:102:314::13) X-Microsoft-Original-Message-ID: List-Id: User questions List-Archive: https://lists.freebsd.org/archives/freebsd-questions List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-questions@freebsd.org X-BeenThere: freebsd-questions@freebsd.org MIME-Version: 1.0 Sender: Alexey Vyskubov X-MS-Exchange-MessageSentRepresentingType: 2 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAVPR08MB9506:EE_|DB4PR08MB9333:EE_ X-MS-Office365-Filtering-Correlation-Id: 5fa99991-c208-464c-724c-08dc388f9cb9 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: w5cPGwFy1QdllOk1E4fh5dVrEe1pUeDQvsAeccvEKwpcSBufFiohMZPQVgX3+nGNOTJmi9ityMSPAso9jIEQcMLu6IB+ubZOpcn4M1rQhEt5hAXVoH6xycwiSFh5AKJTuGP1jeQd6OS1DbJz4ZXtgfSUHbYr9so8GCS/5Lgh/UbA/aQWvjj1r6atzudvu8hghOgGo5X6xRdvRML+Cay5L1Ao6lQLgXzorhJTdW0AZVZe6M0Xo68xs0+W3Xxja3W0YNxtQ+cj2KD/XgAa6icLxrT3LLkShFcXzFQdmn3/+aSJOPoV5ceQ2doun8I6/FG7jqgJEorUg8umNF8f1d2MiCWBW31SgFDxTJXZATLbPX+Ugl24F6iIC2xEJkojxLa2Rd3cXNEqoP+tfyj2Uhyb9BVNUlt7vTJVEkJ/A2mFBvjhspeDBEYGjOpVMuhSeqYEvWWF07zEknPFNW6TSGdhlWVQjsQUo0aTsd4Y9GspMydlmBycVrXQstDifTvZvyuE+ve8JAu3Kp4Nx6VWongVHNX3wdxPWA3jZeKIxQlycFWpwiXG1a5OPEMrfwj2PCCk X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?gpkQPPF+UNcEH25tPC59x68hckOvn3Af1o+owrGlZ/b0o2fLjO8vfHlUZRzx?= =?us-ascii?Q?uvEyzajeTRHyCq/l2wg9gxeBXxOrJhI1oAcEg+Hcn4fIfALxWXphCLBz/YoE?= =?us-ascii?Q?1Q4zFK9HkzijcwPBGEUE0xO3ppQtKnKTaJOEyL3Z4D7b0wBvV9v56W2q2Ap4?= =?us-ascii?Q?iz0X7JJu4C94y7I6MCNd0yNCFxhnva+Xwaoz8UnIrdVHE0OEetOiFnNqYEsN?= =?us-ascii?Q?dPnrgzvWn8+PU9lHM0z1sxO2KqYKKIgd/OSnyhurZ74+CRWDXtjvF8rokft5?= =?us-ascii?Q?/yNkcAYor1I/6aa2EZKcybLD0fuu6lIkBOS51luubomMIq99KqoEq/86th4O?= =?us-ascii?Q?34bj48iI+Puw5MCM6376JBZAELi8gvU/dcJFeETBR8/GBkGs7Tob+w0qfeZr?= =?us-ascii?Q?sMhipH6I+Uo/KVP265Z0P7dDNRle7n6AIAIpRqyX1BOwTJ2ExP1p6BGraQbI?= =?us-ascii?Q?PQDgybun0m22CXtRWkGxVYkhsc0knP4LL4qCD2vQEKysIB3I8c0qY2sjvZi9?= =?us-ascii?Q?xzAzxW7Iyo5Xo8gE4TnH7EWFVJk4P/QelDRb+cd6YE5fN/nkiVbq4pUx+vN7?= =?us-ascii?Q?jOkE+RnbqbuT3Wm2gyOdHi1mns5htBiE+MCksUdPElhTBWKnpe07mB0Lb14J?= =?us-ascii?Q?NsxYQm9YrDcZApXLKay4s8FRXerECruyvLAKWsWqUGXvYztjcBiZzlPD8pCy?= =?us-ascii?Q?2bNOz7X1yNlD7gwvHTuhSG+VR/N2H4Dt7e4J1+dSJnGcqPbcRzjKJR1UKojy?= =?us-ascii?Q?nVtQT25udDEQbMeh9OuoHAXErRsmf2GYvM/wIe27nvi923P7X5p0ft5UhNzh?= =?us-ascii?Q?r4lBSLMzHPAxZpGFka4WJDOeU/2BPpOPhG60u/o+WhFgmzQWUacLXyI/aKfN?= =?us-ascii?Q?OXaqeKR9hv+2Zd3tycjLjwFag+qaEurHrLC6we8vemwFrujT5WJDziYT+4S6?= =?us-ascii?Q?C9HRsbmKAq9Z0TquGJyZs7cDhlCmOgjUVoZ7io92J2LewiaeR48rsl+YTFjF?= =?us-ascii?Q?sZGBSpBuacNYGp2MO7zzhPG9OG4rjUeEG26HovwjHcctN+Fvs5hFK5SU2apJ?= =?us-ascii?Q?vjnetjoUZRv7/6u4FfSDB7Hl3rKCJi+RX8iWfU3nkoVW/oEuwBut/55+VcCs?= =?us-ascii?Q?LSSIORmmyUtI8CM7NuZnHy2FPRMff0LSxYpU603X2a8i/SB6XQ8xxItjQnMA?= =?us-ascii?Q?Gxis8Qt5fvZiFvJHjimktmPTstcsbI/iYIMrceoyOPKYJm0wEagcAN7H2ZM?= =?us-ascii?Q?=3D?= X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-37dd7.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 5fa99991-c208-464c-724c-08dc388f9cb9 X-MS-Exchange-CrossTenant-AuthSource: PAVPR08MB9506.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Feb 2024 19:01:04.3589 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB9333 X-Spamd-Bar: -- X-Spamd-Result: default: False [-2.92 / 15.00]; SUBJECT_ENDS_QUESTION(1.00)[]; ARC_ALLOW(-1.00)[microsoft.com:s=arcselector9901:i=1]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-0.99)[-0.988]; NEURAL_HAM_SHORT(-0.93)[-0.928]; FORGED_SENDER(0.30)[alexey@pentode.fi,alexey@hotmail.fi]; R_SPF_ALLOW(-0.20)[+ip6:2a01:111:f403::/49]; MIME_GOOD(-0.10)[text/plain]; ASN(0.00)[asn:8075, ipnet:2a01:111:f000::/36, country:US]; FREEFALL_USER(0.00)[alexey]; MIME_TRACE(0.00)[0:+]; TO_DN_SOME(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_TWO(0.00)[2]; R_DKIM_NA(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_NEQ_ENVFROM(0.00)[alexey@pentode.fi,alexey@hotmail.fi]; MISSING_XM_UA(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; DMARC_NA(0.00)[pentode.fi]; RCVD_TLS_LAST(0.00)[]; MLMMJ_DEST(0.00)[questions@freebsd.org,freebsd-questions@freebsd.org]; RCVD_IN_DNSWL_NONE(0.00)[2a01:111:f403:2e07::800:from] X-Rspamd-Queue-Id: 4TlNx04QFwz4J0r On Wed, Feb 28, 2024 at 10:29:42AM -0700, Modulok wrote: > >> What do you use for developing on FreeBSD servers? Unfortunately I can't > install FreeBSD on my machine (well I can but it would be in VMware Fusion > Pro). I have a headless FreeBSD server. I mostly do development with vim (I have used it for like 25 years, switching, ahem, from emacs -- and it helps) running in tmux (I have used screen before but about 10 years ago I've made a mistake to look into its source code -- and since then I'm using tmux and made a point never look into its sources). For connection I normally use SSH, and sometimes VNC (with Xvnc running on FreeBSD side). I can use both options on my iPad (with Blink and Rvnc); actually, I'm writing now on iPad, with SSH connection to FreeBSD. I have several scripts/aliases to make working with tmux easier (think listing sessions; show menu, allowing to choose to which session to attach; something for tmux new -A -s ). To make working with vim easier in terminal over SSH I use such options as colorcolumn, numbers, rnu. I also use t_* settings in vim to make cursor of different color and shape in different modes. I use "set -o vi" in my shell, and I use starship prompt (some people strongly dislike it, by the way). Useful thing, if your SSH connection is unstable, is mosh. > is my daily driver. I write code in the `helix` text editor running inside > `tmux`, itself inside the `alaccrity` terminal emulator (which you wouldn't > have if developing remotely). I had a brief affair with helix, couple of months, and it did not fly for me. I use alacritty as well and it works reasonably well over VNC (keep in mind that though my connections usually -- not always -- over WiFi, they are normally inside the same house). > vim-like experience with far less configuration out of the box. Like Well, helix has modes. Experience is quite far away from vim, though I know what you mean. > `neovim` it has built in LSP support and will use installed LSP servers I never found a compelling reason to switch to neovim. I have started to use LSP in vim a couple years ago with coc.nvim (yep, it works in plain vim) plugin. > I've run VS code in the past, ...and it works reasonably well over VNC. > want to get in deep with X11 forwarding While I prefer VNC, I had remote X servers connected to FreeBSD, it is not that difficult. > You can use these in `vi`, `vim`, `neovim`, `helix`, and there's even a > plugin for `VS code` that supports them. There is a VS Code plugin which connects to real neovim and uses its engine, so it's not just emulation. I can only approve learning vim way of editing, and not because of time saving. It is very convenient, when you get used to it. P.S. vim has a ton of options for programming, see things like makeprg, errorformat, quickfix list, integration with tags. You definitely want to know how to use 'make' and 'ctags' programs. -- Alexey I cannot receive HTML mail at this account. Hi, I am a signature virus. Add me to your signature to help me spread.